使用VMware启动物理硬盘上Linux(CentOS 7),并用GRUB2手动引导

标签: none

NAS 用的系统盘出现坏道,时不时能听到 哒,哒,哒的声音. 需要在他彻底坏掉之前把数据备份出来,换上新的硬盘.
于是想到如果能用VMWare虚拟机加载快坏的物理硬盘中的系统,可以在旧系统里面拷贝数据到新的系统里面。每个文件的位置也能清楚的找到.

磁盘分区情况如下:
Snipaste_2018-02-18_20-30-44.png

找到boot分区 /dev/sda2

必备条件:
VMware® Workstation 14 Pro 14.1.1 build-7528167
Linux Mint的安装盘的ISO镜像文件linuxmint-18.3-kde-64bit.iso

建立虚拟机步骤:
一、在VMWare中新建虚拟机。虚拟机参数根据实际情况设定。
Snipaste_2018-02-18_20-38-15.png
Snipaste_2018-02-18_20-36-41.png
Snipaste_2018-02-18_20-36-55.png
Snipaste_2018-02-18_20-37-54.png

二、删除虚拟机中的默认硬盘
在上一个步骤中,默认建立了一个硬盘。我们要把这个硬盘删掉。手动建立硬盘。

三、加载物理分区
选“编辑虚拟机设置”
Snipaste_2018-02-18_20-52-51.png
将磁盘删除
Snipaste_2018-02-18_20-53-55.png
然后点击“添加”按钮。选择“磁盘”,点下一步。
Snipaste_2018-02-18_20-54-32.png
这里应该根据物理硬盘的类型选择,我选择的是“SATA”。点下一步。
Snipaste_2018-02-18_20-54-57.png
选择“使用物理磁盘”选项。点击下一步。
Snipaste_2018-02-18_20-55-16.png
选择Linux所在的磁盘设备,然后选择“使用单个分区”。点下一步。
Snipaste_2018-02-18_20-55-48.png
选择Linux的分区,包括交换分区。我的整个磁盘都是Linux 我全部选择了。点下一步。
Snipaste_2018-02-18_20-57-01.png
点击完成按钮。完成了物理磁盘的加载。
Snipaste_2018-02-18_20-57-23.png

四、建立引导分区
我们需要在建立一个虚拟硬盘来引导Linux。重复上面的步骤,建立虚拟硬盘。在选择磁盘步骤。选择“创建新虚拟磁盘”。点击下一步。
Snipaste_2018-02-18_21-09-56.png
这个磁盘的容量不需要很大,1G已经足够大了。
Snipaste_2018-02-18_21-10-28.png
建立完成后如下。
Snipaste_2018-02-18_21-11-23.png
检查一下磁盘的“虚拟设备结点”,保证物理磁盘是“0:0”。
Snipaste_2018-02-18_21-11-43.png
Snipaste_2018-02-18_21-12-09.png

五、用Linux Mint光盘镜像引导虚拟机
首先设置光盘镜像。
Snipaste_2018-02-18_21-13-23.png

然后,启动虚拟机。启动一个终端,输入sudo fdisk -l 来查看磁盘情况。我的虚拟磁盘如下。加载的物理磁盘是/dev/sda,新创建的1G虚拟磁盘是/dev/sdb
Snipaste_2018-02-18_21-30-54.png

六、为启动盘创建分区
输入sudo fdisk /dev/sdb,在sdb上创建分区.
输入n,建立新分区。然后输入p,建立主分区。后续步骤都是用默认选项。最后输入w写入并退出fdisk。
Snipaste_2018-02-18_21-46-23.png

七、在启动分区上创建引导记录

首先,要挂在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设备。
Snipaste_2018-02-18_22-07-08.png

然后就GG了...
Snipaste_2018-02-18_22-12-51.png

手动引导启动系统:
root 目录为boot所在目录, 其中内核vmlinuz和initrd.img的版本号可用按Tab键自动查看

grub>set root=(hd1,5)
其中hd0为根目录所在的磁盘,IDE硬盘用hd开始,SCSI硬盘用sd开头。软盘用fd开头。命名和linux不大一样。是从0算起。
输入hd后按tab键可以进行查看。msdos1为根目录所在的分区,输入msdos后按tab键可以进行查看。

grub>linux /boot/vmlinuz-xxx-xxx root=/dev/sdb5
其中*号为内核版本,输入/boot/vmlinuz后按tab键可以进行自动补全。sda5为根目录所在的分区。
若boot目录是单独分区同上为linux /vm...若boot不是单独分区就输入linux /boot/vm...

grub>initrd /boot/initrd.img-xxx-xxx
grub>boot
启动系统w  成功~

文章来源:
http://www.cnblogs.com/qiaoyanlin/p/6901242.html
https://www.linuxidc.com/Linux/2014-10/108238.htm
http://blog.csdn.net/delacroix_xu/article/details/5433189


扫描二维码,在手机上阅读!

添加新评论