启动讨论 grub/grub2/syslinux/grub4dos/Lilo
ptptptptptpt
帖子: 3711 注册时间: 2006-09-19 18:16
#16
帖子
由 ptptptptptpt » 2008-11-29 12:44
billbear 写了: ptptptptptpt 写了: 有一个问题:把分区激活,把 grub4dos 引导代码安装到分区,mbr里面还是 ms 的代码。没想到启动时提示 invalid partition table 。
以前这样搞过,能启动的 —— 当时的C盘是用 win 格式化的。
看来,或许 gparted 格式化的fat32分区还是有某些兼容性问题。
是的,对于启动分区,只能用微软或 ghost 之类的来创建, linux、MacOS 创建的 fat32 都是不能启动的。非启动分区倒是无所谓,虽然和微软格出来的分区不同,但是作为存储是没有问题的。
搞定了!
原来是激活的问题。开始用的第三方工具激活——diskgen和 win pm。后来用 xp 的磁盘管理激活了一下,再把C盘的 ntldr 改成 grldr ,嘿嘿。。。
billbear 写了: 经常有人在 xp 崩溃以后把硬盘拆下来拿到别人的机器上用 ghost 恢复他自己以前做的备份,回来发现不能启动,百思不解,就是这个。
。
哦。。这个事情倒没发现,因为我没那样干过
billbear
帖子: 3681 注册时间: 2008-05-03 23:42
#17
帖子
由 billbear » 2008-11-29 12:46
billbear 写了: ptptptptptpt 写了: 有一个问题:把分区激活,把 grub4dos 引导代码安装到分区,mbr里面还是 ms 的代码。没想到启动时提示 invalid partition table 。
以前这样搞过,能启动的 —— 当时的C盘是用 win 格式化的。
看来,或许 gparted 格式化的fat32分区还是有某些兼容性问题。
fdisk -l 下看,fat32 有两种,一种是 "b",一种是 "c"。你做出来的可能是 "b" ,改成 "c" 试试
只要用 gparted 加上 lba 标志
billbear
帖子: 3681 注册时间: 2008-05-03 23:42
#18
帖子
由 billbear » 2008-11-29 12:48
原来是激活的问题。开始用的第三方工具激活——diskgen和 win pm。后来用 xp 的磁盘管理激活了一下,再把C盘的 ntldr 改成 grldr ,嘿嘿。。。
没道理啊,激活不过就是一个标志位,还能有什么猫腻?难道 xp 的磁盘管理激活分区的时候,顺便把 b 改成了 c
ptptptptptpt
帖子: 3711 注册时间: 2006-09-19 18:16
#21
帖子
由 ptptptptptpt » 2008-11-29 12:56
看了,仍旧是 b
代码: 全选
pt@pt-desktop:~$ sudo fdisk -l
[sudo] password for pt:
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd274d274
Device Boot Start End Blocks Id System
/dev/sda1 * 1 609 4891761 b W95 FAT32
/dev/sda2 610 9729 73256400 f W95 Ext'd (LBA)
/dev/sda5 610 1247 5124703+ b W95 FAT32
/dev/sda6 1248 1324 618471 82 Linux swap / Solaris
/dev/sda7 1325 2000 5429938+ 83 Linux
/dev/sda8 2001 2459 3686886 83 Linux
/dev/sda9 2460 3224 6144831 83 Linux
/dev/sda10 3225 6412 25607578+ 7 HPFS/NTFS
/dev/sda11 6413 9729 26643771 7 HPFS/NTFS
billbear
帖子: 3681 注册时间: 2008-05-03 23:42
#23
帖子
由 billbear » 2008-11-29 13:02
重新用 gparted 格式化,用 gparted 激活,拷贝文件,安装 grub4dos,能启动吗?
ptptptptptpt
帖子: 3711 注册时间: 2006-09-19 18:16
#24
帖子
由 ptptptptptpt » 2008-11-29 13:02
已经用 win 磁盘管理操作过了,已经“不干净”了
要想彻底验证 gparted ,只能是重新来一回
windows 确实是个绝好的推理游戏 。只是,有时候实在懒得推。。。
billbear
帖子: 3681 注册时间: 2008-05-03 23:42
#25
帖子
由 billbear » 2008-11-29 13:05
激活本来不干分区表什么事的,怎么会 invalid partition table?
有一种可能,有的烂工具激活的时候没有把原激活分区取消激活,结果两个分区都有激活标志,mbr 不知道引导哪一个了。激活应该是唯一独占的。
ptptptptptpt
帖子: 3711 注册时间: 2006-09-19 18:16
#26
帖子
由 ptptptptptpt » 2008-11-29 13:35
太神奇了!你猜不到发生了什么
刚刚打算进 ubuntu 8.04 重新来一次,可是不小心启动到了 hiweed 2.0 rc3 (基于xubuntu 8.10)。我心说,反正都差不多,就在 hiweed 里面搞吧
可是,没想到,hiweed 里的 gparted 无法格式化 C盘 为 fat32 (可能因为 C盘已经是fat32了),只能格式化为 ext2 ext3 reiserfs 和 ntfs 。我突然想试试 ntfs 。于是选择了 ntfs ,然而,未能格式化成功。
不死心,又到终端里, sudo mkfs.ntfs /dev/sda1 ,成功了。
然后,直接重启(没有往里面拷贝xp文件),你猜提示什么? BOOTMGR is missing ... !这说明什么?说明分区引导扇区已经有引导代码了!这代码是 mkfs.ntfs 写的!如果没有分区引导代码,mbr 会提示 no boot disk 之类;而如果是 xp 的分区引导代码,则会提示 ntldr is missing 。而现在提示的,竟是 BOOTMGR is missing ...
usb 启动到 pe ,打开 c-xp.gho,提取文件到C盘,重启,果然,启动了。。。
ptptptptptpt
帖子: 3711 注册时间: 2006-09-19 18:16
#27
帖子
由 ptptptptptpt » 2008-11-29 13:36
billbear 写了:
有一种可能,有的烂工具激活的时候没有把原激活分区取消激活,结果两个分区都有激活标志,mbr 不知道引导哪一个了。激活应该是唯一独占的。
在我这应该不是这种情形,因为我只有一个主分区。或者说有两个主分区,其中一个是 扩展分区。
billbear
帖子: 3681 注册时间: 2008-05-03 23:42
#28
帖子
由 billbear » 2008-11-29 13:57
然后,直接重启(没有往里面拷贝xp文件),你猜提示什么? BOOTMGR is missing ... !这说明什么?说明分区引导扇区已经有引导代码了!这代码是 mkfs.ntfs 写的!如果没有分区引导代码,mbr 会提示 no boot disk 之类;而如果是 xp 的分区引导代码,则会提示 ntldr is missing 。而现在提示的,竟是 BOOTMGR is missing ...
usb 启动到 pe ,打开 c-xp.gho,提取文件到C盘,重启,果然,启动了。。。
那么, c 盘有 bootmgr 吗?你把 ntldr 改名为 bootmgr 了?
billbear
帖子: 3681 注册时间: 2008-05-03 23:42
#29
帖子
由 billbear » 2008-11-29 14:00
xp 在格式化分区的时候会写入 ntldr 引导代码,不论它是不是启动分区,有没有用。
没想到 mkfs.ntfs 也会。。。
ptptptptptpt
帖子: 3711 注册时间: 2006-09-19 18:16
#30
帖子
由 ptptptptptpt » 2008-11-29 15:36
billbear 写了:
那么, c 盘有 bootmgr 吗?你把 ntldr 改名为 bootmgr 了?
没有改名,就是 ntldr
或许这个引导代码既能加载 ntldr 也能加载 bootmgr ,不过我没有 vista,没法试