红联Linux门户
Linux帮助

制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘

发布时间:2017-07-16 09:25:15来源:IT之家作者:njlyf2011
网上的Ubuntu To Go制作教程一般只适用于Legacy BIOS,并不适用于新式的UEFI,而且现在UEFI是潮流,怕只支持UEFI Boot的新机器无法启动,而纯UEFI Boot又不适用于老机器,那咋办?制作Legacy BIOS和UEFI都支持的不就行了。
经过折腾,笔者制作出了支持Legacy BIOS和UEFI启动模式的优盘,可以在IT之家分享一下方法。
什么是Ubuntu To Go,这名字是从Windows To Go借鉴过来的,顾名思义,可以在优盘上跑的Ubuntu。
 
相对于Windows To Go,Ubuntu To Go有以下优点:
1、体积小。去年我曾试过在16G的优盘上安装Windows To Go,成是成了,但优盘可用空间却小的可怜。Ubuntu To Go的体积仅仅在4.6 GB左右(Ubuntu 16.04,amd64 ),8GB的优盘都能塞下,岂不美哉。
2、不需要进行多次硬件配置。Windows To Go在不同硬件计算机上启动可能会出现再次配置硬件的画面,比较浪费时间,但Ubuntu To Go不需要。
3、免费,这个不解释。
 
准备工具:
1、优盘一只,最好不低于8GB(还要考虑安装软件呢~),接口最好是USB 3.0,不然太卡。
2、电脑一台,最好支持硬件虚拟化,VMWare Workstation一个。
3、脑袋一个(开个玩笑)。
 
设置虚拟机
打开VMware Workstation,新建虚拟机,选自定义。
制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘
系统选Ubuntu。
名字随便起一个就行,当然这种正经名字也可以。
后面会告诉你要选硬盘,选择使用物理硬盘。
制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘
在我这里优盘被标识为PhysicalDrive2,在你那里可能会不一样。
制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘
 
Legacy式安装
开机。插入ISO,选择以光盘启动。(在vmware logo显示的时候按Esc选择CDROM)。
注意,在启动菜单里面选“试用Ubuntu”(Try Ubuntu),别选“安装Ubuntu”。
点开安装程序。
这个最好打个钩。
制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘
分区。选择最后一个,千万别选第一个。
制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘
由于VMware感人的显卡特性,分区画面估计会看不见。
所以需要改分辨率。拖动窗口,最右下角就是应用(Apply)按钮。
制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘
分区画面。我这里因为是演示,所以是空分区表。
按理来说正常优盘应该会有一个FAT32分区。要把它删了。
建立EFI分区:这个分区文件系统最好是FAT32(FAT16按理来说也可以,但我没试过,NTFS、EXT4之类的更不用说,根本就不能用),不需要太大,100MB左右就合适,挂载点选择/boot/efi。
制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘
建立根分区。如果你要建诸如/var、/home、/tmp的分区也可以,个人喜好。
制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘
制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘
点下一步,它会提示没有SWAP分区,这个不用管它。
SWAP建立在优盘上容易对优盘寿命产生影响。而且现在计算机RAM都比较大,根本就不需要。
设置下个人资料,开始安装过程。
制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘
安装好之后别选择“立即重启”,应该关机。(别直接点虚拟机的那个X,小心优盘数据不保,应该通过正常步骤关机)。
 
写入EFI引导文件
上面只是进行了Legacy式安装,还不能进行UEFI启动,所以需要写入UEFI引导文件。
虚拟机关机之后,编辑虚拟机设置。
设置为EFI引导。
制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘
启动之后打开终端,sudo -s获取root权限。
最好用fdisk -l看一下分区。
我们得知:/dev/sda1是EFI分区,/dev/sda2是Linux文件系统。
制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘
挂载。
先挂载Linux分区,再挂载EFI分区。
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot/efi
然后是著名的dev proc sys run四部曲(run可以不用挂载)。
mount --o bind /dev /mnt/dev
mount --o bind /proc /mnt/proc
mount --o bind /sys /mnt/sys
mount --o bind /run /mnt/run
Chroot进入环境。
由于是Legacy模式安装,所以目前系统里的grub并不支持efi安装,所以要先安装grub-efi。
apt-get install grub-efi
制作同时适用于Legacy/UEFI的Ubuntu To Go启动盘
如果你安装过程中是断网的,会无法安装。不要紧。退出chroot环境,然后把live cd根文件系统下的/etc/resolv.conf复制到/mnt/etc/resolv.conf就好,然后重新chroot安装,
然后输入:
grub-install --target=x86_64-efi --root-directory=/boot/efi --efi-directory=/boot/efi
输入后会出现一些奇怪的东西,不用管他。只要没报错就行。
结束之后:
umount /proc
umount /dev
umount /sys
umount /run (如果有的话)
sync
exit
终端不要关,输入nautilus(如果是kubuntu就是dolphin,其他的桌面自己找)。
点开/mnt/boot/grub将grub.cfg复制到/mnt/boot/efi/boot/grub下。
(解决无法显示菜单的问题)
grub.cfg是GRUB2的配置文件,以后如果更改了grub.cfg,/boot/efi/grub下的一样要更改,
将/mnt/boot/efi/EFI下的ubuntu文件夹改成boot,里面的grubx64.efi改成bootx64.efi,
(解决无法识别的问题)
重启即可看到效果。
这个方法别的发行版理论上也可以,笔者优盘里塞的是Linux Mint。
不过别的发行版(尤其是非Debian系)的配置过程可能略有不同。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/31992.html