在我对 Ubuntu 和 Windows XP 进行最新更新后,第二天启动时出现 Grub 错误。ls
列出以下内容(不带()):
sd0 sd1, msdos sd2 sd5 sd6
当我尝试进入它时,它(sd0,xy)/
没有检测到系统或未知的文件系统错误。
我尝试使用 Knoppix Live CD 启动实时会话,发现所有数据都存在。我还尝试使用 TestDisk 进行恢复,它找到了所有系统。以下是测试磁盘结果:
Start End Size in sectors
1 * HPFS - NTFS 0 1 1 7079 254 63 113740137
2 E extended LBA 7080 0 1 12161 254 63 81642330
5 L HPFS - NTFS 7080 1 1 10266 254 63 51199092 [Schule]
X extended 12031 30 1 12161 254 63 2102625
6 L Linux Swap 12031 31 33 12161 254 63 2102530
我有 1 winxp-home、1x Ubuntu(ext3+swap)和 1 winxp prof,然后我使用 TestDisk 在 mbr 上写入,但我总是在 Grub 上得到相同的错误。
我该怎么办?我需要 XP 和 Ubuntu。请帮帮我。
更多信息请见下面的答案 - 抱歉,这种风格令人困惑,但我正在使用不同的实时系统和浏览器,并且必须始终重新启动
启动信息脚本输出也在下面
也许高级用户可以纠正我的失败帖子 - 在我解决问题后,我会在这里注册
谢谢,请帮助我解决这些奇怪的问题!
因为我仍然不能只评论我自己的答案或那些上面的答案,所以我必须再次把它放在这里作为一个单独的答案.....(或者甚至编辑 - 可能是使用实时 cds 的浏览器故障...因为我可以编辑这个帖子)
这里是 bootinfo 脚本的输出 - 但结果与 TestDisk 相同...但看起来更糟 - 因为它也没有检测到我的旧 ubuntu...但没有出现可见的 eares 进程或覆盖进程结束最后一个工作会话
输出:
Boot Info Script 0.61 [1 April 2012]
============================== 启动信息摘要: =================================
=> Syslinux MBR(4.04 及更高版本)安装在 /dev/sda 的 MBR 中。
sda1:__________________________________________
File system: ntfs
Boot sector type: Windows XP: NTFS
Boot sector info: No errors found in the Boot Parameter Block.
Operating System: Windows XP
Boot files: /boot.ini /ntldr /NTDETECT.COM
sda2:__________________________________________
File system: Extended Partition
Boot sector type: -
Boot sector info:
sda5:__________________________________________
File system: ntfs
Boot sector type: Windows XP: NTFS
Boot sector info: According to the info in the boot sector, sda5 starts
at sector 63.
Operating System: Windows XP
Boot files:
sda6:__________________________________________
File system: swap
Boot sector type: -
Boot sector info:
============================= 驱动器/分区信息: ==============================
驱动器:sda_______________________________________
磁盘 /dev/sda:100.0 GB,100030242816 字节 255 个磁头,63 个扇区/磁道,12161 个柱面,总共 195371568 个扇区 单位 = 1 * 512 的扇区 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节
分区引导起始扇区结束扇区扇区数ID系统
/dev/sda1 * 63 113,740,199 113,740,137 7 NTFS / exFAT / HPFS /dev/sda2 113,740,200 195,382,529 81,642,330 f W95 扩展(LBA) /dev/sda5 113,740,263 164,939,354 51,199,092 7 NTFS / exFAT / HPFS /dev/sda6 193,280,000 195,382,529 2,102,530 82 Linux swap / Solaris
/dev/sda2 在 /dev/sda 的最后一个扇区之后结束 /dev/sda6 在 /dev/sda 的最后一个扇区之后结束
“blkid”输出:____________________________________
设备 UUID 类型标签
/dev/loop0 squashfs
/dev/sda1 6596D86768011128 ntfs
/dev/sda5 1300D3B7744EC141 ntfs 分区 /dev/sda6 5b95f2a1-4145-43a5-ac51-41d7dd32b213 swap
=================================== 挂载点: ===================================
设备 Mount_Point 类型选项
/dev/loop0 /rofs squashfs (ro,noatime) /dev/sr0 /cdrom iso9660 (ro,noatime)
================================= sda1/boot.ini: ==================================
[引导加载程序]
超时=30
默认值 = 多 (0) 磁盘 (0) rdisk (0) 分区 (1) \WINDOWS
[操作系统]
多 (0) 磁盘 (0) rdisk (0) 分区 (1) \WINDOWS="Microsoft Windows XP 家庭版" /fastdetect /NoExecute=OptOut
多 (0) 磁盘 (0) rdisk (0) 分区 (2) \WINDOWS="Microsoft Windows XP Professional" /fastdetect
[间谍机器人]
超时.旧=30
最后一部分显示我现在使用 Windows 引导加载程序,这样我就可以访问至少一个操作系统,但我是否也应该使用 live-linux-cds 访问我的 ubuntu 分区?还是我必须使用 grub 引导才能访问那些文件?
答案1
当您安装或更新 Windows 时,Windows 会假定它是机器上唯一的操作系统 — 或者至少它不考虑 Linux。因此,它会用自己的引导加载程序替换 GRUB。
您需要做的是用 GRUB 替换 Windows 引导加载程序。只需 chroot 进入您的安装并运行 update-grub。
以下是你是怎么做到的:)
答案2
如果您的问题仅与 GRUB 有关,并且它显示 GRUB 错误,则插入 Ubuntu 磁盘并输入“尝试 Ubuntu”,然后打开您的终端并输入sudo update-grub
(或)如果它不起作用,则在现有的 Ubuntu 中重新安装 Ubuntu,它将自动设置。
这仅当您的问题仅出在 GRUB 上时才有效。