使用grub和iso镜像文件在U盘上制作linux系统的启动盘

这里以深度的linux deepin-15.11-amd64.iso为例,在debian下制作linux的启动盘。

一、格式化U盘为fat32格式。

  1. 插入U盘到电脑。
  2. 查看U盘的路径。fdisk -l
  3. 卸载U盘的所有分区的挂在点(一般一个u盘只有一个分区)。umount /dev/sdb1
  4. 格式化U盘的分区。mkfs -t vfat /dev/sdb1

二、安装grub到U盘。

 

命令解析:grub-install –boot-directory=/media/bkd/9FC5-75E4/boot/ /dev/sdb

  1. 挂在U盘。mount /dev/sdb1 /media/bkd/9FC5-75E4
  2. 在U盘根目录创建boot目录。mkdir /media/bkd/9FC5-75E4/boot/
  3. 安装grub引导程序到U盘。注意,不是安装到分区sdb1,是整个U盘sdb。

grub-install –boot-directory=/media/bkd/9FC5-75E4/boot/ /dev/sdb

或者

grub2-install –boot-directory=/media/bkd/9FC5-75E4/boot/ /dev/sdb

三、复制启动文件到U盘。

  1. 在U盘根目录创建目录iso(随便什么名字都行)。mkdir iso
  2. 将deepin-15.11-amd64.iso中的live目录的initrd.lz,vmlinuz,vmlinuz.efi复制到iso目录。
  3. 将deepin-15.11-amd64.iso中的live目录复制到U盘根目录。

四、编辑启动菜单grub.cfg。

在U盘的boot/grub目录新建grub.cfg文件,文件内容如下:

set have_grubenv=true
load_env

insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
insmod part_msdos
insmod ext2
insmod xfs
insmod loopback
insmod part_msdos
insmod png
insmod gzio
insmod xzio
insmod lzopio;
set root='hd0,msdos1'
set timeout=10
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
set gfxpayload=keep


menuentry 'deepin-15.11-amd64.iso'  {
    echo    'loading deepin-15.11-amd64.iso'
    loopback loop /iso/deepin-15.11-amd64.iso
    linux   /iso/vmlinuz.efi boot=live union=overlay livecd-installer locale=zh_CN
    echo    'loading initrd.lz…'
    initrd /iso/initrd.lz
    
}

 

五、设置bios的启动介质为U盘。

  重启电脑,按F2键,进入bios.切换到boot标签页,设置启动介质为U盘,保存设置,重启即可进入linux的安装界面。

Author: bkdwei