码迷,mamicode.com
首页 > 移动开发 > 详细

在Linux环境直接复移动硬盘上的GRUB

时间:2017-07-18 10:15:05      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:重装   code   open   升级   根分区   lsblk   实战   sys   opensuse   

  手头有一块用了10年的旧移动硬盘,其中安装了Debian系统,从低版本一直升级到现在的9已经用了很长时间。前不久正连着那块硬盘跑着Debian修改文件的时候,由于一个本可避免的意外震动了数据线,瞬间连接中断。后果不必说,自然是系统无法再读写磁盘数据各种I/O错误不能进行任何工作。关机重启后,移动硬盘的启动项从BIOS快捷菜单里消失,成了一个无引导的普通磁盘。

  将移动硬盘连接到运行openSUSE的笔记本检查,见所有的分区都能正确识别,挂载后所有分区可正常读写,文件全部健在。直接重建GRUB,过程记录如下:

打开openSUSE终端,切换到root用户

su -

查看当前所有分区,确定Debian根分区位置为 /dev/sdb2 (没有单独的/boot分区)

lsblk

挂载Debian根分区

mount /dev/sdb2 /mnt

挂载其他需要的系统目录

mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

chroot到移动硬盘上的Debian

chroot /mnt

重装GRUB

grub-install /dev/sdb

更新GRUB配置

grub-mkconfig -o /boot/grub/grub.cfg

退出chroot环境

exit

卸载分区和目录

umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount /mnt

 重建完成

  再次连接移动硬盘已经恢复引导顺利进入Debian系统,修复成功。硬盘里的文件内容和设置停留在传输连接中断前一瞬间的状态,幸好早预料到发生这种事情的可能没有存放重要数据。

  建议不要将进行重要工作的系统安装在老旧、接触不良、质量很一般和读写数据慢的移动设备上,一旦发生意外事件损坏数据甚至磁盘的概率是相当高的。特别是质量一般的USB2.0U盘不要冒险,除非打算专门实战各种修复和数据恢复技能。另外在熊孩子和宠物经常出没的环境尽量不要用移动设备上的系统,以免意外惊喜。

在Linux环境直接复移动硬盘上的GRUB

标签:重装   code   open   升级   根分区   lsblk   实战   sys   opensuse   

原文地址:http://www.cnblogs.com/tsdxdx/p/7192468.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!