忽然发现一个grub 0.97很囧的问题(关于NTFS与UUID)

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

忽然发现一个grub 0.97很囧的问题(关于NTFS与UUID)

#1

帖子 adagio » 2009-10-15 17:26

是酱紫,我今天心血来潮想把原来放在某个分区的几个应急系统挪到另一个地方,有ubuntu liveCD、puppy、jollix、winPE等等
分区情况如下

代码: 全选

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x4e474e46

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         727     5839596    7  HPFS/NTFS
/dev/sda2             728        9729    72308565    f  W95 Ext'd (LBA)
/dev/sda5             728        3654    23511096    b  W95 FAT32
/dev/sda6            3655        3787     1068291    7  HPFS/NTFS
/dev/sda7            3788        6374    20780046    7  HPFS/NTFS
/dev/sda8            6375        9729    26949006    7  HPFS/NTFS

Disk /dev/sdb: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xe2a8a5bc

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        1275    10241406    7  HPFS/NTFS
/dev/sdb2            1276        2295     8193150   83  Linux
/dev/sdb3            2296       38913   294134085    f  W95 Ext'd (LBA)
/dev/sdb5            2296        3570    10241406   83  Linux
/dev/sdb6            3571        4590     8193118+  83  Linux
/dev/sdb7            4591       10965    51207156   83  Linux
/dev/sdb8           10966       23714   102406311   83  Linux
/dev/sdb9           23715       38913   122085936   83  Linux

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb7d3b7d4

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1        2550    20482843+   7  HPFS/NTFS
/dev/sdc2            2551        6375    30724312+   7  HPFS/NTFS
/dev/sdc3            6376       19124   102406342+   7  HPFS/NTFS
/dev/sdc4           19125      121601   823146502+   f  W95 Ext'd (LBA)
/dev/sdc5           19125       44621   204804621    7  HPFS/NTFS
/dev/sdc6           44622       82866   307202931    7  HPFS/NTFS
/dev/sdc7           82867      121601   311138856    7  HPFS/NTFS

Disk /dev/sdd: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xaf87e389

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1   *           1        1224     9831748+   c  W95 FAT32 (LBA)
/dev/sdd2            1225       19457   146456572+   f  W95 Ext'd (LBA)
/dev/sdd5            1225        9689    67995081    7  HPFS/NTFS
/dev/sdd6            9690       19457    78461428+   7  HPFS/NTFS
ok,有四个硬盘,原来放在sda5,也就是80G硬盘的第三分区,fat32格式
现在挪到sdb1,也就是320G硬盘的第一分区,ntfs格式,已激活
原来用grub4dos引导,现在用arch的grub 0.97引导,我先把menu.lst照抄过来,局部如下

代码: 全选

title  Arch Linux  [320G]
uuid	3ba12cc7-6ada-470b-8a5f-d6f80af1c680
kernel	/boot/vmlinuz26 root=/dev/disk/by-uuid/3ba12cc7-6ada-470b-8a5f-d6f80af1c680 ro vga=791
initrd	/boot/kernel26.img

title	Ubuntu 9.04, kernel 2.6.28-13-generic
uuid	f1bafdd4-73c2-44b2-9a62-d50a2da4d019
kernel	/boot/vmlinuz-2.6.28-13-generic  root=/dev/disk/by-uuid/f1bafdd4-73c2-44b2-9a62-d50a2da4d019 ro splash vga=791 
initrd	/boot/initrd.img-2.6.28-13-generic
quiet

title	WINPE Plus(3.1)
map (hd0,0)+1 (hd0)
map --hook
find --set-root /MINIPE/MAOTAO.BIN
chainloader /MINIPE/LDRXPE
boot

title Joolix
uuid	9C3C99343C990A82
kernel	/joolix/vmlinuz
initrd	/joolix/initrd.gz
boot

title Puppy Linux
rootnoverify	(hd1,0)
kernel /puppy/vmlinuz root=/dev/ram0 PMEDIA=idehd
initrd  /puppy/initrd.gz
UUID如下

代码: 全选

lrwxrwxrwx 1 root root 10 10月 15 12:33 01C7A446EF220A80 -> ../../sda6
lrwxrwxrwx 1 root root 10 10月 15 12:33 068a59a0-d30b-4d9a-896c-233794facfb1 -> ../../sdb8
lrwxrwxrwx 1 root root 10 10月 15 12:33 24288C6C288C3F34 -> ../../sdc3
lrwxrwxrwx 1 root root 10 10月 15 12:33 2A58D7CE58D796C3 -> ../../sda7
lrwxrwxrwx 1 root root 10 10月 15 12:33 30BCB1D9BCB19A34 -> ../../sdc5
lrwxrwxrwx 1 root root 10 10月 15 12:33 36223d45-f7e2-4b23-a845-7e9fc4a9c5ab -> ../../sdb7
lrwxrwxrwx 1 root root 10 10月 15 12:33 3ba12cc7-6ada-470b-8a5f-d6f80af1c680 -> ../../sdb6
lrwxrwxrwx 1 root root 10 10月 15 12:33 4028B77B28B76F12 -> ../../sda1
lrwxrwxrwx 1 root root 10 10月 15 12:33 56AC667DAC66578F -> ../../sdc1
lrwxrwxrwx 1 root root 10 10月 15 12:33 58D4-66C0 -> ../../sdd1
lrwxrwxrwx 1 root root 10 10月 15 12:33 5C1CC4F61CC4CBE8 -> ../../sdc6
lrwxrwxrwx 1 root root 10 10月 15 12:33 5E98D85F98D836ED -> ../../sdc7
lrwxrwxrwx 1 root root 10 10月 15 12:33 9C3C99343C990A82 -> ../../sdb1
lrwxrwxrwx 1 root root 10 10月 15 12:33 a4a14993-8675-4905-ae31-f2ca3a89e6ef -> ../../sdb9
lrwxrwxrwx 1 root root 10 10月 15 12:33 C628FB7028FB5E3D -> ../../sdd5
lrwxrwxrwx 1 root root 10 10月 15 12:33 C634795434794907 -> ../../sdc2
lrwxrwxrwx 1 root root 10 10月 15 12:33 DC607A20607A0196 -> ../../sdd6
lrwxrwxrwx 1 root root 10 10月 15 12:33 E46CE5006CE4CDFC -> ../../sda8
lrwxrwxrwx 1 root root 10 10月 15 12:33 f1bafdd4-73c2-44b2-9a62-d50a2da4d019 -> ../../sdb2
lrwxrwxrwx 1 root root 10 10月 15 12:33 f63bf91f-38af-4c0f-92c2-22f57650ef85 -> ../../sdb5
现在奇怪的问题来了

比如那个puppy,如果写成这样

代码: 全选

title Puppy Linux
rootnoverify	(hd1,0)
kernel /puppy/vmlinuz root=/dev/ram0 PMEDIA=idehd
initrd  /puppy/initrd.gz
就可以正常进入,可如果写成这样

代码: 全选

title Puppy Linux
uuid	9C3C99343C990A82
kernel /puppy/vmlinuz root=/dev/ram0 PMEDIA=idehd
initrd  /puppy/initrd.gz
就提示ERRO 15 :shock: ,也就是说找不到文件
我知道grub 0.97貌似不支持NTFS分区,不过怎么解释rootnoverify (hd1,0)就可以顺利启动呢?


——————————————————————————————————————————————————————————

另外一个同样的问题也出在ubuntu那里,我的ubuntu只有一个根目录,/boot、/home全在一起,也就是sdb2,ext4格式,10G的主分区
写成这样就提示ERRO 15 :shock:

代码: 全选

title	Ubuntu 9.04, kernel 2.6.28-13-generic
uuid	f1bafdd4-73c2-44b2-9a62-d50a2da4d019
kernel	/boot/vmlinuz-2.6.28-13-generic  root=/dev/disk/by-uuid/f1bafdd4-73c2-44b2-9a62-d50a2da4d019 ro splash vga=791 
initrd	/boot/initrd.img-2.6.28-13-generic
quiet
而写成如下

代码: 全选

title	Ubuntu 9.04, kernel 2.6.28-13-generic
root (hd1,1)
kernel	/boot/vmlinuz-2.6.28-13-generic  root=/dev/sdb2 ro splash vga=791 
initrd	/boot/initrd.img-2.6.28-13-generic
quiet
就可以启动
最囧的是,同样写法的第一项title Arch Linux [320G],安装在sdb6,也是ext4格式,却完全没有问题,总是顺利启动的

晕啊,想破头也不明白搞的什么飞机?

第一,我向stallman的大胡子发誓,以上UUID肯定没有问题,我都是粘贴过来的,也反复核对几次了,是正确的
第二,ubuntu的那里是照抄ubuntu原来的grub菜单然后改为arch的写法,也就是root=UUID=xxxxxxxxxxxxxxx那里改了一下

代码: 全选

title		Ubuntu 9.04, kernel 2.6.28-13-generic
uuid		f1bafdd4-73c2-44b2-9a62-d50a2da4d019
kernel		/boot/vmlinuz-2.6.28-13-generic root=UUID=f1bafdd4-73c2-44b2-9a62-d50a2da4d019 ro splash vga=794 
initrd		/boot/initrd.img-2.6.28-13-generic
quiet
改成如下

代码: 全选

title		Ubuntu 9.04, kernel 2.6.28-13-generic
uuid		f1bafdd4-73c2-44b2-9a62-d50a2da4d019
kernel		/boot/vmlinuz-2.6.28-13-generic root=/dev/disk/by-uuid/f1bafdd4-73c2-44b2-9a62-d50a2da4d019 ro splash vga=794 
initrd		/boot/initrd.img-2.6.28-13-generic
quiet
我实在想不明白了,以前用ubuntu的grub,同样的menu.lst,可以顺利的引导ubuntu和arch
现在用arch的grub就只能引导arch,而引导ubuntu只能用root (hd1,1)这种形式,why?难道arch的grub跟ubuntu的不一样?都是0.97啊
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: 忽然发现一个grub 0.97很囧的问题(关于NTFS与UUID)

#2

帖子 wangdu2002 » 2009-10-15 17:32

奇怪的问题。。。要么是root=UUID和root=/dev/disk/by-uuid的使用有差别,要么是阿泣和Ubuntu的哥伦布处理方式不同。
等楼下的糕手解答之,跟踪学习之。熊哥说了,Grub没有grub4dos好用。 :em03
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: 忽然发现一个grub 0.97很囧的问题(关于NTFS与UUID)

#3

帖子 adagio » 2009-10-15 17:41

是不太好用,我再想是不是干脆把grub4dos装到mbr算了,grub 0.97干掉,他大爷的烦人
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: 忽然发现一个grub 0.97很囧的问题(关于NTFS与UUID)

#4

帖子 wangdu2002 » 2009-10-15 17:49

某就是用sudo ./bootlace.com /dev/sda --no-backup-mbr把哥伦布4dos的引导代码写入MBR中使用的。
不过现在哥伦布2代功能较强,大三八可以照小苹果的教程搞这个也不错。 :em06
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: 忽然发现一个grub 0.97很囧的问题(关于NTFS与UUID)

#5

帖子 adagio » 2009-10-15 18:18

别提了,grub2更烦人,引导不了PE,ubuntu也引导不了,而且只能800x600,这终端可太丑了
我照他教程搞了两天晕了,还是装回0.97了事,等真正2.0出来再说
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
hcym
帖子: 15634
注册时间: 2007-05-06 2:46

Re: 忽然发现一个grub 0.97很囧的问题(关于NTFS与UUID)

#6

帖子 hcym » 2009-10-15 19:17

:em80
回复