致命误操作

Gigabyte BRIX (XM11-3337)在路上飘近一个多月之后,终于到手。遂即安装了Win7及Ubuntu双系统,但Ubuntu不能正常启动。通过U盘启动了Ubuntu Live去查看原因, 在准备chroot环境时,不小心打错了命令:

tar zcvf /dev/sda*

结果,硬盘上的分区及引道记录全被覆盖,好在/dev/sda*只是设备名称,只冲写掉前面几个扇区,数据区域无碍。

通过/proc/partitions里的数据重建分区,前面的主分区正确识别,但扩展分区无法识别,应该是有错位,在新建的扩展分区前后搜索”55 AA”标志,遂找到了正确的扩展分区起始位置。主引导记录的修复只好用Windows 7安装光盘来修复。

后来还要接着搞grub无法启动Ubuntu的问题,grub提示无法找到/boot/grub/normal.mod,此时grub仅支持少量和命令,如ls, set, insmod等,linux及initrd命令必须等linux.mod加载后方能生效,通过set命令查看:

prefix=(hd0,msdos3)/boot/grub

(hd0,msdos3)为/boot分区,并不是root,故需要修改prefix为: (hd0,msdos3)/grub,即

set prefix=(hd0,msdos3)/grub

之后就可以手工启动Linux 了:

insmod linux
linux (hd0,msdos3)/vmlinuz-3.8.0-…-generic ro root=/dev/sdaX
initird (hd0,msdos3)/initrd-3.8.0-…-generic
boot

Ubuntu可以正常启动了,但问题的修复还要费些脑筋,因为我的Ubuntu系统设置了独立的boot分区,早知如此当初就不这么麻烦了,好在还有个比较投机的办法,在/boot目录下建了一个指向上层目录的symbolic link:

ln –s .. ./boot

重启系统并验证grub可以正常启动Ubuntu了。

生命不止,折腾不息!附个BRIX酷照:

Gigabyte Brix

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注