openSUSE 11.4,我在随身碟上有启动分区。
问题是当我启动计算机时,grub 立即显示错误“找不到文件”(我不知道哪个文件)并切换到“救援模式”。
我可以从另一个随身碟启动计算机,但我想使用原来的随身碟(上面提到的那个)。我尝试使用 Yast 刷新 grub,或者通过执行手动刷新
grub --batch < /etc/grub.conf
或者通过将所有文件从工作随身碟复制到非工作随身碟(之后编辑 device.map),仍然没有成功,我只看到“救援模式”。
我知道一种通过再次重新安装整个系统来重建随身碟内容(它仅包含启动分区)的方法,这将强制再次正确构建启动分区,但我正在寻找更聪明的东西。
那么,如何重建整个引导分区+grub,而不仅仅是打磨其中的2或3个文件。
答案1
好的,如果您满意将旧随身碟用作第二个随身碟,请按照以下步骤操作:
- 备份旧 U 盘的内容。
- 连接两个随身碟并且系统运行后,将旧随身碟重新分区类似的方式第二个如何分区 - 也就是说,使
/boot
旧分区上的分区具有与新分区上相同的编号和类型(请参阅 的输出fdisk -l
)。不要忘记使其可启动。 - 清除(在某处保留备份)
/boot/
旧 pendrv 上的内容并从新的 pendrv 中复制所有文件。 - 卸载两个随身碟,记住哪个是哪个(我的意思是
/dev/sd[ab]
等等) 使用新 U 盘的引导扇区覆盖旧 U 盘的引导扇区:
在这里,我假设
/dev/sdb
是您的旧 U 盘,并且/dev/sdc
是新 U 盘- 制作当然用适当的设备名称替换它们,否则你甚至会弄乱你的整个系统!dd if=/dev/sdc bs=512 count=1 of=/dev/sdb
再次,if=
参数必须指向新的 - 现在工作正常的参数,并且参数of=
必须指向旧的随身碟(要修复的那个)。
应该是这样。旧的随身碟现在应该和新的一样工作。