上一篇:Windows不分区VHD装多系统之三:VM虚拟机安装ubuntu18.04
在VHD中装Ubuntu最终目的还是要让物理机能引导VHD开启ubuntu,但是默认的引导不能满足要求。
如果你用VHD引导win系统那很容易。只是在上篇装ubuntu18改成装windows系统就可以了。
下载教程用的软件:pan.baidu.com
向虚拟机里传输文件:
思路一,安装VM自带的VM-tool ,安装麻烦,而且会在之后正常引导后有残留文件,也有可能影响系统。
思路二,在物理机win7系统上建立网页(http)和ftp服务,这样就可以上传下载文件了。(这个方便 ,选这个)
在物理机win7上开启网页服务器和FTP服务器,把文件传输到虚拟机的ubuntu18里。
在解压的文件夹中找到MyWebServer.exe这个软件运行,点击浏览 选择任意一个目录,做为网站的服务目录,这在桌面新建一个web文件夹来存放文件。
点浏览选择web目录,点击启动(Start)
FTP服务器也一样
在物理机上打开CMD窗口,看看物理机的IP是多少,命令行输入ipconfig /all,我的IP是 192.168.3.11(你的不一定和我的一样)
C:\Users\Administrator>ipconfig /all
测试:
打开浏览器 输入你的IP ,我的这里是192.168.3.11,看到有列表的文件夹和文件,
说明就可以了,你的web文件夹里也随便放点东西,要不显示不出来。
好了,网页服务能正常访问。
启动VM虚拟机进入ubuntu18系统里,我们先修改apt源为163的。国外的源太慢了。
在ubuntu18里,在桌面右键--打开终端,先看看对外网的范围能不能通
输入下面命令,看到有64bytes开头的返回值 就说明网是通的。
$ ping -c 2 baidu.com
备份默认源
$ cd /etc/apt $ sudo cp sources.list{,.bak} $ ll
在ubuntu18里打开火狐浏览器,输入物理机的IP地址,下载sources.list脚本文件运行来更换apt-get源
保存文件,默认是保存到当前用户的 主目录/下载文件夹里
重复上面操作,将local 、mkinitramfs、ntfs_3g 这几个文件下载下来(linux文件没有后缀,不像win的文件)
打开终端输入,中文输入,点右上角那个zh(英)来切换输入法
$ sudo mv /etc/apt/sources.list{,.bak} $ sudo mv ~/下载/sources.list /etc/apt/
源安装完,执行更新命令
$ sudo apt-get update
等一会,下载完成
安装编译所用的软件
$ sudo apt-get install kpartx kpartx-boot util-linux dmsetup lvm2 lftp screen
备份文件、将下载的文件移动到对应目录,
$ sudo mv /usr/share/initramfs-tools/scripts/local{,.bak} $ sudo mv /usr/sbin/mkinitramfs{,.bak} $ sudo mv /usr/share/initramfs-tools/scripts/local-bottom/ntfs_3g{,.bak} $ sudo mv ~/下载/local /usr/share/initramfs-tools/scripts/ $ sudo mv ~/下载/mkinitramfs /usr/sbin/ $ sudo mv ~/下载/ntfs_3g /usr/share/initramfs-tools/scripts/local-bottom/ $ sudo chmod 777 /usr/sbin/mkinitramfs
编辑文件,向modules文件插入三行内容,loop、fuse、dm-mod
$ sudo echo "loop" >> /etc/initramfs-tools/modules $ sudo echo "fuse" >> /etc/initramfs-tools/modules $ sudo echo "dm-mod" >> /etc/initramfs-tools/modules
终端输入下面命令,会打开一个编辑器
$ sudo gedit /usr/share/initramfs-tools/init
修改init里面第31行的
mount -t tmpfs -o "noexec,nosuid,size=10%,mode=0755" tmpfs /run
修改为
mount -t tmpfs -o "noexec,size=20%,mode=0755" tmpfs /run
就是删除 nosuid, 选项。
开始生成initrd.img文件,查看当前/boot 目录下的initrd.img文件版本
$ cd /boot $ ls
下面的版本号填你自己看到的,这里是5.4.0-42
$ sudo /usr/sbin/mkinitramfs -o ~/initrd.img-5.4.0-42-generic
不出意外的话可以在home(主目录)中找到生成的文件
接着,把initrd.img-5.4.0-42-generic、vmlinuz-5.4.0-42-generic用FTP软件传回到物理机上。
上面的install命令中已经安装好了FTP客户端,这时也保证物理机上的FTP服务软件启动状态。
向物理机传文件
$ lftp 192.168.3.11 ftp> put ~/initrd.img-5.4.0-42-generic ftp> put /boot/vmlinuz-5.4.0-42-generic