如何用 grub 完全重建引导分区?

如何用 grub 完全重建引导分区?

openSUSE 11.4,我在随身碟上有启动分区。

问题是当我启动计算机时,grub 立即显示错误“找不到文件”(我不知道哪个文件)并切换到“救援模式”。

我可以从另一个随身碟启动计算机,但我想使用原来的随身碟(上面提到的那个)。我尝试使用 Yast 刷新 grub,或者通过执行手动刷新

grub --batch < /etc/grub.conf

或者通过将所有文件从工作随身碟复制到非工作随身碟(之后编辑 device.map),仍然没有成功,我只看到“救援模式”。

我知道一种通过再次重新安装整个系统来重建随身碟内容(它仅包含启动分区)的方法,这将强制再次正确构建启动分区,但我正在寻找更聪明的东西。

那么,如何重建整个引导分区+grub,而不仅仅是打磨其中的2或3个文件。

答案1

好的,如果您满意将旧随身碟用作第二个随身碟,请按照以下步骤操作:

  1. 备份旧 U 盘的内容。
  2. 连接两个随身碟并且系统运行后,将旧随身碟重新分区类似的方式第二个如何分区 - 也就是说,使/boot旧分区上的分区具有与新分区上相同的编号和类型(请参阅 的输出fdisk -l)。不要忘记使其可启动。
  3. 清除(在某处保留备份)/boot/旧 pendrv 上的内容并从新的 pendrv 中复制所有文件。
  4. 卸载两个随身碟,记住哪个是哪个(我的意思是/dev/sd[ab]等等)
  5. 使用新 U 盘的引导扇区覆盖旧 U 盘的引导扇区:

    在这里,我假设/dev/sdb是您的旧 U 盘,并且/dev/sdc是新 U 盘- 制作当然用适当的设备名称替换它们,否则你甚至会弄乱你的整个系统!

    dd if=/dev/sdc bs=512 count=1 of=/dev/sdb

再次,if=参数必须指向新的 - 现在工作正常的参数,并且参数of=必须指向旧的随身碟(要修复的那个)。

应该是这样。旧的随身碟现在应该和新的一样工作。

相关内容