32

制作UEFI(64位)下的WinPE + Ubuntu + Acronis多启动U盘

 4 years ago
source link: http://www.cnblogs.com/alexanderzjs/p/12389079.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

最近研究了一下如何制作一个多启动U盘,其中想包含的功能是WinPE(这里选择WEPE),Ubuntu 18.04,Acronis True Image 2018的ISO恢复盘。这里分享一下制作的经验和踩过的坑

准备工作

必备的硬件

1个USB,我用的大小是16GB,其实8G甚至4G应该也能够完成。因为WinPE的安装加上Arconis的安装大概是400MB,Ubuntu 18.04大概是2.1GB

必备的软件

软件方面,因为我用的分区软件是Windows 10自带的(就是右键我的电脑->管理->磁盘管理),所以略过分区软件

  1. grub-2.02-for-windows,这个可以到 aioboot 下载
  2. 微PE工具箱V2.0,地址是 http://www.wepe.com.cn/download.html
  3. Acronis True Image 2018的ISO文件,请大家自行到网上找相应的ISO文件,或者联系我来找相应的文件
  4. Ubuntu 18.04,网上到处都有下载,我是从 清华的开源镜像库 找的

制作流程

USB分区

USB分区分成两个区就好了,注意分区位置不要颠倒了。

  1. 第一个分区(hd0,msdos1):格式:NTFS,大小:USB的整个大小减掉1GB,作用:存放Ubuntu镜像文件
  2. 第二个分区(hd0,msods2):格式:FAT32,大小:1GB,作用:UEFI启动时要求的ESP分区(也就是EFI文件夹应该放的分区)

安装Grub2

这一步本来没什么想说的,但是后续如果不注意会使得grub产生error: Unknown filesystem这个错误,所以大致讲一下。首先,管理员身份运行CMD,进入grub2解压以后的文件夹,在CMD里面输入以下命令:

grub-install.exe --boot-directory=第二个分区的USB盘符:\ --efi-directory=第二个分区的USB盘符: --removable --target=x86_64-efi

注意:这个命令的boot-directory参数指定以后会在指定的目录下安装一个grub文件夹,里面可以进行各种配置,并且会生成一个相应的EFI文件夹。所以,如果你想让你的grub安装到其他目录,那么,需要更改这个参数后面的文件夹路径。比如,可以用F:\boot这个路径,这样的话,安装完grub2会产生一个F:\boot\grub的文件夹路径。

最后,在新生成的grub文件夹下面新建一个grub.cfg空文件。并且添加下面的一些模块加载选项:

insmod loopback
insmod iso9660
insmod ntfs
insmod all_video

安装WePE

首先,用WePE工具箱生成一个ISO文件,具体方法就是打开下载好的文件,然后点击最右下角的光盘图标根据提示制作。制作好以后,用解压软件解压光盘文件的WEPE文件夹到USB的 第二个分区 (hd0,msdos2)的根目录。光盘文件的EFI文件夹暂时解压到电脑的硬盘中。

然后,把解压的EFI\Microsoft文件夹直接复制到USB的 第二个分区 (hd0,msdos2)的EFI文件夹下。现在,把解压的EFI\BOOT文件夹下面的bootx64.efi提取出来,这个就是后面WePE的引导文件,可以把这个文件放到USB的 第二个分区 (hd0,msdos2)的EFI文件夹下面的任意位置,但是需要grub.cfg的chainloader选项能够准确定位。(我放到了 我的USB盘符:\EFI\MICROSOFT\BOOT\wepe

最后,在grub.cfg添加下面的WePE启动项:

menuentry "Windows PE" {
    chainloader /EFI/microsoft/boot/wepe/bootx64.efi
}

安装Ubuntu 18.04

这一步其实还是蛮简单的,首先,把镜像解压到USB的 第一个分区 (hd0,msdos1)下面的任意文件夹。然后,解压提取出来iso文件的casper文件夹,在这个文件夹里面只留下vmlinuz和initrd就可以了,其他的都可以删除掉。(我把镜像和这个casper文件夹放到了 我的USB盘符:\linux\ubuntu\ )。最后,在grub.cfg添加下面的Ubuntu启动项:

menuentry "Ubuntu 18.04" {
    set isofile="/linux/ubuntu/ubuntu-18.04.4-desktop-amd64.iso"
    loopback loop (hd0,msdos1)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile nomodeset noprompt noeject quiet splash --
    initrd (loop)/casper/initrd
}

安装Acronis True Image 2018

对于Acronis True Image,其实就只需要ISO文件里面的dat10.dat,dat11.dat,dat12.dat三个文件。我把这三个文件解压到了 第二个分区 (hd0,msdos2)的Acronis文件夹下面,然后直接在grub.cfg添加下面的启动项:

menuentry "Acronis True Image 2018" {
    set quiet=1
    set gfxpayload=1024x768x32,1024x768
    set mbrcrcs=on
    linux (hd0,msdos2)/Acronis/dat10.dat lang=1 quiet force_modules=usbhid
    initrd (hd0,msdos2)/Acronis/dat11.dat (hd0,msdos2)/Acronis/dat12.dat
}

到此,所有制作已经完毕,其实没有想象中那么难,但是网上想找到一个比较完整的步骤还不太容易。走过很多弯路,包括分区方案怎么制作,如何添加WinPE的引导,如何添加Acronis的引导。

有问题的话,各位可以在下面留言,我会不定时解答(虽然不一定能解答:-()


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK