LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 971|回复: 4

为什么把/boot拷到ntfs分区,它也能找到其它的ext3分区上装的Ubuntu?

[复制链接]
发表于 2008-11-9 09:03:02 | 显示全部楼层 |阅读模式
我的分区:
hd0,0 ntfs windows
hd0,5 ntfs data
hd0,6 ext3 ubuntu

因为没有将grub写入MBR,而grub for dos又总是引导ubuntu失败,遂用live cd启动将
ext3上的/boot目录整个拷到hd0,0,然后用grub就把ubuntu成功引导起来了。

但我的疑问是:
1)hd0,0上这个/boot怎么知道我的ubuntu系统装在哪里?

2)如果hd0,0上这个/boot是通过查找根分区'/'的话,那么假设我装了2个linux系统,它会去启动哪个呢?

3)这个/boot和ext3上原来那个/boot现在是什么样的依存关系?

问题比较小白,  
谢谢!      
发表于 2008-11-9 11:36:43 | 显示全部楼层
1) /boot/grub/menu.lst  文件里写着呢。不过linux系统只是用它来找/目录,加载完linux内核后就用/etc/fstab文件来分别加载linux各个分区了。

2)grub for dos一般用find命令在所有分区上找/boot/grub/menu.lst或者/grub/menu.lst文件,第一个找到的,就用那个menu.lst文件。

3)/boot其实就是用来在系统启动时,加载linux内核的。一旦内核加载完成,这个/boot目录就“没有用”了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-9 12:34:53 | 显示全部楼层
谢谢答复!明白了不少!

   不过还有问题
    menu.lst是安装ubuntu缺省自带的,它并没有指明linux根分区在哪里。现在我把它
放在了windows的分区hd0,0,它咋个会知道linux根分区'/'是在hd0,5还是hd0,6呢?
回复 支持 反对

使用道具 举报

发表于 2008-11-10 11:00:47 | 显示全部楼层
内核判断哪个磁盘分区是根分区,根据的是引导参数。
比如:
kernel /boot/vmlinuz root=/dev/sda10
中的root=/dev/sda10就是指明了根分区是块设备名为sda10的分区。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-10 22:55:26 | 显示全部楼层
谢谢,明白了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表