NAS 用的系统盘出现坏道, 时不时能听到 哒, 哒, 哒 的声音. 需要在他彻底坏掉之前把数据备份出来, 换上新的硬盘.
于是想到如果能用 VMWare 虚拟机加载快坏的物理硬盘中的系统, 可以在旧系统里面拷贝数据到新的系统里面。每个文件的位置也能清楚的找到
磁盘分区情况如下
找到 boot
分区 /dev/sda2
准备条件
VMware® Workstation 14 Pro 14.1.1 build-7528167
Linux Mint 的安装盘的 ISO 镜像文件 linuxmint-18.3-kde-64bit.iso
建立虚拟机步骤
在 VMWare 中新建虚拟机
虚拟机参数根据实际情况设定
删除虚拟机中的默认硬盘
在上一个步骤中, 默认建立了一个硬盘。我们要把这个硬盘删掉。手动建立硬盘。
加载物理分区
选 编辑虚拟机设置
将磁盘删除
然后点击 添加
按钮。选择 磁盘
, 点下一步
这里应该根据物理硬盘的类型选择, 我选择的是 SATA
。点下一步
选择 使用物理磁盘
选项。点击下一步
选择 Linux 所在的磁盘设备, 然后选择 使用单个分区
。点下一步
选择 Linux 的分区, 包括交换分区。我的整个磁盘都是 Linux 我全部选择了。点下一步
点击完成按钮。完成了物理磁盘的加载。
建立引导分区
我们需要在建立一个虚拟硬盘来引导 Linux。重复上面的步骤, 建立虚拟硬盘。在选择磁盘步骤。选择 创建新虚拟磁盘
。点击下一步
这个磁盘的容量不需要很大, 1G 已经足够大了
建立完成后如下
检查一下磁盘的 虚拟设备结点
, 保证物理磁盘是 0:0
。
用 Linux Mint 光盘镜像引导虚拟机
首先设置光盘镜像
然后, 启动虚拟机。
启动一个终端, 输入 sudo fdisk -l
来查看磁盘情况。我的虚拟磁盘如下。
加载的物理磁盘是 /dev/sda
, 新创建的 1G 虚拟磁盘是 /dev/sdb
为启动盘创建分区
- 输入
sudo fdisk /dev/sdb
, 在 sdb 上创建分区 - 输入
n
, 建立新分区 - 然后输入
p
, 建立主分区 - 后续步骤都是用默认选项
- 最后输入
w
写入并退出fdisk
在启动分区上创建引导记录
首先, 要挂载 boot 分区。我的 boot 分区是 /dev/sda2
然后, 用 grub-install
命令创建引导记录
mint@mint ~ $ sudo mkdir /mnt/boot
mint@mint ~ $ sudo mount /dev/sda2 /mnt/boot
mint@mint ~ $ sudo grub-install --boot-directory=/mnt/boot /dev/sdb
grub-probe: error: failed to get canonical path of 'aufs'.
Installing for i386-pc platform.
Installation finished. No error reported.
mint@mint ~ $
启动 Mint
现在可以重启系统。
- 在虚拟机启动时, 按
F2
键进入虚拟机的 bios 设置 - 在 boot 选项页面, 调整 Hard Drive 设备的启动顺序
- 把
0:2
设备作为第一个启动的 Hard Deive 设备
成功进入 GRUB2 引导界面
手动引导启动系统
root 目录为 boot 所在目录, 其中内核 vmlinuz
和 initrd.img
的版本号可按 Tab 键自动查看
# 其中 hd0 为根目录所在的磁盘, IDE 硬盘用 hd 开始, SCSI 硬盘用 sd 开头。软盘用 fd 开头。命名和linux 不大一样。是从0算起。
# 输入 hd 后按 tab 键可以进行查看。msdos1 为根目录所在的分区, 输入 msdos 后按 tab 键可以进行查看
grub>set root=(hd1,5)
# 其中 xxx-xxx 为内核版本, 输入 /boot/vmlinuz 后按 tab 键可以进行自动补全
# sda5 为根目录所在的分区
# 若 boot 目录是单独分区同上为 linux /vm...
# 若 boot 不是单独分区就输入 linux /boot/vm...
grub>linux /boot/vmlinuz-xxx-xxx root=/dev/sdb5
grub>initrd /boot/initrd.img-xxx-xxx
# 启动系统w, 成功~
grub>boot
原文
http://www.cnblogs.com/qiaoyanlin/p/6901242.html
GRUB2手动引导Ubuntu
Grub2启动项的修改和相关操作命令