在 Linux 环境直接复移动硬盘上的 GRUB
手头有一块用了 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 系统,修复成功。硬盘里的文件内容和设置停留在传输连接中断前一瞬间的状态,幸好早预料到发生这种事情的可能没有存放重要数据。
建议不要将进行重要工作的系统安装在老旧、接触不良、质量很一般和读写数据慢的移动设备上,一旦发生意外事件损坏数据甚至磁盘的概率是相当高的。特别是质量一般的 USB 2.0 U 盘不要冒险,除非打算专门实战各种修复和数据恢复技能。另外在熊孩子和宠物经常出没的环境尽量不要用移动设备上的系统,以免意外惊喜。
在 Linux 环境直接复移动硬盘上的 GRUB的更多相关文章
- Linux环境下在Tomcat上部署JavaWeb工程
本文讲解如何将我们已经编译好的JavaWeb工程在Linux环境下的Tomcat上进行部署,总体上的思路是和Windows下JavaWeb项目部署到tomcat差不多,具体步骤和命令如下. 注:部署之 ...
- Linux环境进程间通信(二): 信号(上)
linux下进程间通信的几种主要手段: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允 ...
- Linux环境下搭建Tomcat+mysql+jdk
Linux环境 1.下载并安装一个VMware workstation, 这个是虚拟机的平台(自行度娘下载~),虚拟机是在后面要在里面搭建Linux系统. 2.下载一个centos安装包,linux版 ...
- 在Linux 环境下搭建 JDK 和 Tomcat
在Linux 环境下搭建 JDK 和 Tomcat 参考地址:http://www.cnblogs.com/liulinghua90/p/4661424.html [JDK安装] 1.首先下载 ...
- 在Linux环境下搭建Tomcat+mysql+jdk环境
按照下面的步骤一步一步来搭建tomcat+jdk+mysql环境. [Linux环境]------我搭建的是64位centos版本的linux系统 1.下载并安装一个VMware workstat ...
- QWT编译与配置-Windows/Linux环境
QWT编译与配置-Windows/Linux环境 QWT和FFTW两种开源组件是常用的工程软件支持组件,QWT可以提供丰富的绘图组件功能,FFTW是优秀数字波形分析软件.本文使用基于LGPL版权协议的 ...
- 在移动硬盘上安装Linux Mint19记录
前要: 有一12年买的手提电脑,打算在其上直接装linux部署分布式爬虫顺便学linux 唔,开机吧--然开机动画没有,只有间断有序的悲鸣,一查,主板逝世 卖给收买旧电脑估计不到20-不能忍,想了想不 ...
- 把Linux安装到移动硬盘上
把Linux安装到移动硬盘上 转载于:http://mrkh.me/install-linux-on-a-portable-hard-drive.html 这一篇文章讲一下,怎么把linux安装到移动 ...
- <转>Linux环境进程间通信(二): 信号(上)
原文链接:http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index1.html 原文如下: 一.信号及信号来源 信号本质 信号是在软件层 ...
随机推荐
- UVA10655 Contemplation! Algebra —— 推公式、矩阵快速幂
题目链接:https://vjudge.net/problem/UVA-10655 题意: a+b.ab的值分别为p.q,求a^n+b^n. 题解: 1.a.b未知,且直接求出a.b也不太实际. 2. ...
- codeforces C. New Year Ratings Change 解题报告
题目链接:http://codeforces.com/problemset/problem/379/C 题目意思:有n个users,每个user都有自己想升的rating.要解决的问题是给予每个人不同 ...
- laravel基础课程---2、Laravel配置文件、路由及php artisan(php artisan是什么)
laravel基础课程---2.Laravel配置文件.路由及php artisan(php artisan是什么) 一.总结 一句话总结: PHP工具匠:php artisan,其实本身就是一些PH ...
- codevs 1012 最大公约数和最小公倍数问题
题目描述 Description 输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数 条件: 1.P,Q是正整 ...
- WPF-初始屏幕(SplashScreen)
本主题介绍如何将启动窗口(也称为“初始屏幕”)添加到 Windows Presentation Foundation (WPF) 应用程序. 添加现有图像作为初始屏幕 创建或查找要用于初始屏幕的图像. ...
- Chapter2——如何分析Android程序
前几天买了<Android软件安全与逆向分析>这本书,决定在这里记一些笔记. 第一章介绍了如何搭建环境,此处略去:第二章开始讲分析Android程序. 下面按顺序记录关键内容. ----- ...
- 一、MyBatis简介
1.发展历史 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBa ...
- ubuntu下使用锐捷校园网
前言 以下内容是个人学习之后的感悟,转载请注明出处~ 1.首先下载锐捷Linux版本,然后解压缩后,有个rjsupplicant.sh这个脚本文件,于是按照README做了,终端中 ...
- 【原】Cache Buffer Chain 第四篇
作者:david_zhang@sh [转载时请以超链接形式标明文章] 链接:http://www.cnblogs.com/david-zhang-index/p/3873357.html [测试1]低 ...
- html5 滚动小球
<html> <head> <meta charset="utf-8"/> </head> <body onkeydown=& ...