我的笔记本上是双系统Windows和Linux 。经常需要在两个系统间切换,很麻烦。于是我想到如果能用VMWare虚拟机加载物理硬盘中的系统,可以在需要时,直接启动另外一个系统。

    注意:我的双系统是用Windows的EasyBCD引导的。如果是使用Linux的GRUB引导的双系统,请慎重。有可能会破坏引导,导致两个系统都不能加载。

    磁盘分区情况如下:

 sda1、sda5、sda6和sda7是windows分区。sda8~sda11是Linux分区,其中sda9是boot分区。
    必备条件:
VMWare Workstation Player。我使用的版本是12。
Linux Mint的安装盘的ISO镜像文件。
EasyBCD。虚拟机建立后,有可能不能物理启动Mint。这时候需要EasyBCD。
    建立虚拟机步骤:
一、在VMWare中新建虚拟机。虚拟机参数根据实际情况设定。

 
 
二、删除虚拟机中的默认硬盘
在上一个步骤中,默认建立了一个硬盘。我们要把这个硬盘删掉。手动建立硬盘。
三、加载物理分区
选“编辑虚拟机设置”

将磁盘删除

 然后点击“添加”按钮。

  选择“磁盘”,点下一步。

 这里应该根据物理硬盘的类型选择,我选择的是“SATA”。点下一步。

 选择“使用物理磁盘”选项。点击下一步。

 选择Linux所在的磁盘设备,然后选择“使用单个分区”。点下一步。
选择Linux的分区,包括交换分区。切记,不要选中Windows的分区。点下一步。

 
 点击完成按钮。完成了物理磁盘的加载。

四、建立引导分区
我们需要在建立一个虚拟硬盘来引导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/sda9。 
然后,用grub-install命令创建引导记录。

  1. mint@mint ~ $ sudo mkdir /mnt/boot
  2. mint@mint ~ $ sudo mount /dev/sda9 /mnt/boot
  3. mint@mint ~ $ sudo grub-install --boot-directory=/mnt/boot /dev/sdb
  4. grub-probe: error: failed to get canonical path of '/cow'.
  5. Installing for i386-pc platform.
  6. Installation finished. No error reported.
  7. mint@mint ~ $
八、启动Mint
现在可以重启系统。在虚拟机启动时,按F2键进入虚拟机的bios设置。在boot选项页面,调整Hard Drive设备的启动顺序。把0:2设备作为第一个启动的Hard Deive设备。
这样就可以加载Mint的引导菜单,并正常启动Mint了。

 九、修复物理机的Linux引导
用虚拟机加载Linux后,有可能出现物理机无法加载Linux的情况。这时可以用EasyBCD的NeoGrub来引导Linux。首先在EasyBCD中将原来的Linux引导删除。接下来在“添加新条目”-“NeoGrub”页面,配置NeoGrub(如果没有安装NeoGrub,先要点击安装按钮)。点击配置按钮,在弹出的记事本中加入下面几行。

  1. title Linux Mint 18
  2. find --set-root /grub/i386-pc/core.img
  3. kernel /grub/i386-pc/core.img
  4. boot
 

 
 
 
  
 
 
 

如果您愿意花几块钱请我喝杯茶的话,可以用手机扫描下方的二维码,通过 支付宝 捐赠。我会努力写出更好的文章。 
(捐赠不显示捐赠者的个人信息,如需要,请注明您的联系方式) 
Thank you for your kindly donation!!


 
 
 
 
 

使用VMware将Linux装在物理硬盘上,开机即可进入Linux的更多相关文章

  1. 使用VMware将Linux装在物理硬盘上,开机即可进入Linux (转)

    目录(?)[-] 本文目的 具体操作 1 软件准备 2  安装 21 对硬盘操作 22 创建虚拟机并安装 23 使用Grub引导Linux 1. 本文目的 适合于没有光驱的计算机来安装Linux,还有 ...

  2. Linux下VirtualBox启动物理硬盘上已安装的Window 8系统

    创建虚拟机 1.创建一个没有硬盘的windows虚拟机,与已安装在物理硬盘上的系统一致.2.通过命令行在创建的虚拟机目录下创建一个指向物理硬盘的虚拟硬盘 VBoxManage internalcomm ...

  3. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  4. Linux 桌面玩家指南:11. 在同一个硬盘上安装多个 Linux 发行版以及为 Linux 安装 Nvidia 显卡驱动

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  5. [转]Linux中如何读写硬盘上指定物理扇区

    读指定物理扇区: dd  if=<源设备>  of=<输出设备或文件>   skip=<指定扇区值>  bs=512 count=1 写指定物理扇区: dd   i ...

  6. VMware要不要装在固态SSD上,虚拟机系统文件要不要放固态SSD上,虚拟机伤不伤固态SSD

    先说结论:VMware建议装在固态上运行快,系统文件最好放在机械硬盘上(有钱除外),虚拟机会伤固态. 今天在学淘淘商城中的搜索项目,克隆了一个虚拟机,这个虚拟机开机贼慢,令人无法忍受,我觉得我再也受不 ...

  7. linux(1)Mac上传文件到Linux服务器

    前言 我们使用mac时,想让本地文件上传至服务器,该怎么办呢 windows系统,我们可以使用xftp或者rz命令,那么mac呢? mac系统,我们可以使用sftp.scp或者rz命令,本文介绍sft ...

  8. 【转】linux挂载新硬盘,开机自动挂载

    [转]linux挂载新硬盘,开机自动挂载 ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ Linux的硬盘识别: 2.6 kernel以后,linux会将 ...

  9. 笔记本光驱位置装SSD固态硬盘(亲自试验)

    我的笔记本买的早了,2010年的联想Z460,速度有点慢,本来想换台电脑,想想还是算了,没有太大必要.固态硬盘便宜了,于是在原来的光驱位置装了一个256G的SSD固态硬盘,现在的性能能达到刚买来时的1 ...

随机推荐

  1. [na]完全理解icmp协议

    1.ICMP出现的原因 在IP通信中,经常有数据包到达不了对方的情况.原因是,在通信途中的某处的一个路由器由于不能处理所有的数据包,就将数据包一个一个丢弃了.或者,虽然到达了对方,但是由于搞错了端口号 ...

  2. 【Unity】7.1 Input类的方法和变量

    分类:Unity.C#.VS2015 创建日期:2016-04-21 一.简介 在Input类中,Key与物理按键对应,例如键盘.鼠标.摇杆上的按键,其映射关系无法改变,程序员可以通过按键名称或者按键 ...

  3. Windows: 打开关闭网络连接的方法

    在Cmd中键入 netsh interface set interface name="本地连接" admin=disablednetsh interface set interf ...

  4. 正确理解web交互中的cookie与session

    cookie存储在客户端的纯文本文件 用户请求服务器脚本 脚本设置cookie内容 并 通过http-response发送cookie内容到客户端并保存在客户端本地 客户端再次发送http请求的时候会 ...

  5. python(42):进制转换

    十六进制 到 十进制 使用 int() 函数 ,第一个参数是字符串 '0Xff' ,第二个参数是说明,这个字符串是几进制的数.  转化的结果是一个十进制数. >>> int('0xf ...

  6. 【DIOCP开源项目】实际应用案例

    案例1 DIOCP是Delphi下进行IOCP服务端通讯开发的一个非常好的开源框架,稳定.高效并且使用起来十分简单. 自己两个多月之前因为需要使用Delphi开发一个TCP服务端,当时也是到处爬文,希 ...

  7. 【C/C++】exit不兼容解决方案

      1.问题      今天在编译一个基于原始套接字实现网络数据包嗅探程序时出现了如下错误:    警告: 隐式声明与内建函数 ‘exit’ 不兼容 2.解决方案   后面发现没有把stdlib.h包 ...

  8. Docker 构建网络服务后本机不能访问

    Docker 构建网络服务后本机不能访问 起因 使用tornado构建了一个服务,测试都没有问题 使用docker构建镜像,使用docker run image_name启动服务 使用浏览器访问 12 ...

  9. Leetcode: Remove Duplicates from Sorted List II 解题报告

    Remove Duplicates from Sorted List II Given a sorted linked list, delete all nodes that have duplica ...

  10. Django 查询时间段 时间搜索 过滤

    Django 查询时间段 1.大于某个时间 gt now = datetime.datetime.now()start = now – datetime.timedelta(hours=23, min ...