当前位置: 技术问答>linux和unix
如何使用grub引导linux?
来源: 互联网 发布时间:2016-08-12
本文导语: 我想装双系统xp+linux,linux 选用了ubuntu 8.10,开机直接进xp了,于是下载了grub4dos http://topic.csdn.net/u/20090117/12/7e942417-5707-44d5-8a1e-d96eb39ab498.html http://topic.csdn.net/u/20090118/19/f10528b7-cab7-4614-ad62-8ad32ab26a66.html 我用grub来引导: root...
我想装双系统xp+linux,linux 选用了ubuntu 8.10,开机直接进xp了,于是下载了grub4dos
http://topic.csdn.net/u/20090117/12/7e942417-5707-44d5-8a1e-d96eb39ab498.html
http://topic.csdn.net/u/20090118/19/f10528b7-cab7-4614-ad62-8ad32ab26a66.html
我用grub来引导:
root (hd0,0)和root(hd4,0)都是nfts的
filesystem type is nfts,partition type 0*7
root(hd0,5) 这个是ext3的类型
root(hd0,6)是unknown的
我也不知道这样分区算是几?
然后我分别试了一下
kernel /boot/vmlinuz 按tab
ntfs的都说是file not found
ext3的说是 bad file or directory type
那我要怎样引导啊?
http://topic.csdn.net/u/20090117/12/7e942417-5707-44d5-8a1e-d96eb39ab498.html
http://topic.csdn.net/u/20090118/19/f10528b7-cab7-4614-ad62-8ad32ab26a66.html
我用grub来引导:
root (hd0,0)和root(hd4,0)都是nfts的
filesystem type is nfts,partition type 0*7
root(hd0,5) 这个是ext3的类型
root(hd0,6)是unknown的
我也不知道这样分区算是几?
然后我分别试了一下
kernel /boot/vmlinuz 按tab
ntfs的都说是file not found
ext3的说是 bad file or directory type
那我要怎样引导啊?
|
楼主好像搞得很复杂。
我双启动都装了N次了,最早的还是用windows的双启动菜单手工实现的。
下面的文章参考下。
解决Linux和Windows双系统引导问题
第一次安装
先安装Windows, 然后安装Linux. 采用这样的顺序不光是为了避免ntloader覆盖掉grub(就算被覆盖了,
也有解决办法, 在后面介绍), 更因为Linux可以被装在扩展分区而Windows不行. 另外, 安装linux时,
grub会检测到已有的分区, 从而生成合适的启动选项来加载windows系统.
要注意的一点就是文件系统, 可以采用这样的方法: 在最开始安装windows时把计划给linux用的空间分为一个区,
之后在安装Linux时将这个区删除, 然后重新创建新的多个分区. Ubuntu liveCD已经做得很傻瓜化, 安装不会碰到任何问题.
恢复MBR
相比Linux, Windows会比较频繁地重装, 重装之后的mbr会被覆盖, 从而无法引导linux系统. 解决整个问题只需要恢复以前的MBR. 重装Linux则不存在任何问题. 因为grub会检测到已有的windows分区.
首先备份mbr, 使用dd命令将硬盘第一个扇区的头446字节'抓'下来保存. 之后重装完windows之后再恢复mbr.
这需要用到linux启动光盘. 启动进入命令行, 挂载那个被保存的mbr文件所在的分区,
然后用dd命令恢复就可以了.(注意我的是SCSI硬盘, 所以是sda, IED硬盘为hda)
备份MBR:
# dd if=/dev/sda of=/boot/boot.NNNN bs=446 count=1
恢复MBR:
# dd if=/boot/boot.NNNN of=/dev/sda bs=446 count=1
-为什么不是512呢, 主引导扇区是一个扇区(512字节呀)?
-只把主引导扇区的备份文件boot.NNNN的前446个字节重写入主引导扇区。
boot.NNNN是我们在安装Linux之前整个主引导分区的备份。如果我们把
512个字节全部写入主引导扇区就可能会把安装了Linux后改变了的硬盘
DPT表也破坏掉.
MBR-> Main/Master Boot Record, 有些书上是写成Master的.
我认为可以分成三个部分吧, MBR+DPT+MagicNumber(446+64+2=512)
这也就是为什么进行MBR备份的时候要指定bs=512 或者 bs=1k, count=1的原因.
然后恢复时经常看到HOWTO里面是bs=446 count=1. 这个446就是指令部分的恢复, 不是DPT的恢复.
往往MBR里面的第一个指令是cli... 研究起来是比较有意思的.
我双启动都装了N次了,最早的还是用windows的双启动菜单手工实现的。
下面的文章参考下。
解决Linux和Windows双系统引导问题
第一次安装
先安装Windows, 然后安装Linux. 采用这样的顺序不光是为了避免ntloader覆盖掉grub(就算被覆盖了,
也有解决办法, 在后面介绍), 更因为Linux可以被装在扩展分区而Windows不行. 另外, 安装linux时,
grub会检测到已有的分区, 从而生成合适的启动选项来加载windows系统.
要注意的一点就是文件系统, 可以采用这样的方法: 在最开始安装windows时把计划给linux用的空间分为一个区,
之后在安装Linux时将这个区删除, 然后重新创建新的多个分区. Ubuntu liveCD已经做得很傻瓜化, 安装不会碰到任何问题.
恢复MBR
相比Linux, Windows会比较频繁地重装, 重装之后的mbr会被覆盖, 从而无法引导linux系统. 解决整个问题只需要恢复以前的MBR. 重装Linux则不存在任何问题. 因为grub会检测到已有的windows分区.
首先备份mbr, 使用dd命令将硬盘第一个扇区的头446字节'抓'下来保存. 之后重装完windows之后再恢复mbr.
这需要用到linux启动光盘. 启动进入命令行, 挂载那个被保存的mbr文件所在的分区,
然后用dd命令恢复就可以了.(注意我的是SCSI硬盘, 所以是sda, IED硬盘为hda)
备份MBR:
# dd if=/dev/sda of=/boot/boot.NNNN bs=446 count=1
恢复MBR:
# dd if=/boot/boot.NNNN of=/dev/sda bs=446 count=1
-为什么不是512呢, 主引导扇区是一个扇区(512字节呀)?
-只把主引导扇区的备份文件boot.NNNN的前446个字节重写入主引导扇区。
boot.NNNN是我们在安装Linux之前整个主引导分区的备份。如果我们把
512个字节全部写入主引导扇区就可能会把安装了Linux后改变了的硬盘
DPT表也破坏掉.
MBR-> Main/Master Boot Record, 有些书上是写成Master的.
我认为可以分成三个部分吧, MBR+DPT+MagicNumber(446+64+2=512)
这也就是为什么进行MBR备份的时候要指定bs=512 或者 bs=1k, count=1的原因.
然后恢复时经常看到HOWTO里面是bs=446 count=1. 这个446就是指令部分的恢复, 不是DPT的恢复.
往往MBR里面的第一个指令是cli... 研究起来是比较有意思的.
|
可以用 explore2fs 等工具看看 /boot/grub/menu.lst 里的启动命令
然后在 grub 输入
按照实际的情况,修改路径即可
title Ubuntu 8.04.1, kernel 2.6.24-19-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.24-19-generic root=/dev/sda1 ro quiet splash loglevel=0 clocksource=hpet rootflags=data=writeback
initrd /boot/initrd.img-2.6.24-19-generic
quiet
然后在 grub 输入
root (hd0,0)
kernel /boot/vmlinuz-2.6.24-19-generic root=/dev/sda1
initrd /boot/initrd.img-2.6.24-19-generic
boot
按照实际的情况,修改路径即可
|
试试用ubuntu8.1的wubi.exe来装一下吧,具体的请搜一下有很多的,找不到请看我在www.linuxdiyf.com写的资料
|
说的好!