GRUB制作启动U盘

  1. U盘分区
    由于windows系统限制,使用Linux gdisk等工具对U盘分区
    GPT
    分区1:EFI分区,FAT,50M,hex code:ef00
    分区2:存储分区,FAT,视U盘大小设置,hex code:0700
    分区3:linux根分区,EXT4,10G,hex code:8304
    分区4:biosboot分区,无需格式化,2M,hex code:ef02
    若无需随身启动linux,可无需分区3
    若无需兼容传统bios启动,可无需分区4
  2. grub-install
挂载分区1、分区2
# mount /dev/sdx1 /mnt/efi
# mount /dev/sdx2 /mnt/boot

UEFI启动引导安装
# grub-install --target=x86_64-efi --efi-directory=/mnt/efi --boot-directory=/mnt/boot --removable
传统BIOS启动引导安装
# grub-install --target=i386-pc --boot-directory=/mnt/boot /dev/sdx

sdx替换为真实的U盘设备符
若采用一些linux发行版的grub软件,程序或为grub2-install
在U盘安装UEFI引导时,必须加上removable参数

  1. grub.cfg
    在分区2,grub文件夹中,创建简易的grub.cfg配置文件。
set default="0" 
loadfont unicode
set gfxmode=auto
function load_video {           ///此段用于
  echo                          ///ARM64
}                               ///启动
function load_video {           ///此
  insmod video                  
  insmod video_bochs            ///段
  insmod video_cirrus           ///
  insmod video_fb               ///用
  insmod all_video              
  insmod videoinfo              ///于
if [ $grub_platform = efi ];then///x86_64
  insmod efi_gop
  insmod efi_uga
elif [ $grub_platform = pc ];then///启
  insmod vga
  insmod vbe
fi
}                               ///动
load_video
insmod gfxterm
insmod gettext
set locale_dir=$prefix/locale
set lang=zh_CN
terminal_output gfxterm
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set timeout=60
set rootuuid=""                                          ///设置分区2的UUID
set p3uuid=""                                            ///设置分区3的UUID
search --no-floppy --set=root --fs-uuid $rootuuid        ///将分区2设置为根分区
search --no-floppy --set=p3part --fs-uuid $p3uuid        ///设置分区3别名

grub.cfg文件接下来设置系统启动项,所有以下的iso安装镜像文件均放在分区2中。
RHEL、Centos、Fedora系列iso安装镜像

menuentry '安装 CentOS或其他命名' --class fedora --class gnu-linux --class gnu --class os {
  set isofile=/[安装镜像文件名].iso
  loopback loop $isofile
  probe -u (loop) --set=loopuuid
  set id=UUID=$loopuuid
  linux (loop)/images/pxeboot/vmlinuz iso-scan/filename=$isofile inst.stage2=hd:$id ks=hd:$id:/ks.cfg inst.nosave=all inst.gpt quiet
  initrd (loop)/images/pxeboot/initrd.img
}
///采用anaconda安装程序,配置详情(inst.stage2、ks等)请自行查阅资料。

debian发行版iso安装镜像

menuentry '安装 debian或其他命名' --class gnu-linux --class gnu --class os {
  linux /debianhdd/vmlinuz quiet
  initrd /debianhdd/initrd.gz
}
///debian需要下载支持磁盘安装的内核文件(hd media installer),可将下载文件放在分区2任意位置

opensuse发行版iso安装镜像

menuentry ‘安装 openSuSE或其他命名’ --class fedora --class gnu-linux --class gnu --class os {
set isofile=/[安装镜像文件名].iso
loopback loop $isofile
linux (loop)/boot/x86_64/loader/linux iso-scan/filename=$isofile
initrd (loop) /boot/x86_64/loader/initrd
}
///suse内核本身自带硬盘安装支持,因此直接拉取安装镜像中的内核文件

windows链式启动

menuentry ‘Windows PE’ {
  if [ $grub_platform = efi ]; then
    insmod chain
    chainloader /winpe/EFI/Boot/bootx64.efi
  elif [ $grub_platform = pc ]; then
    linux16 /boot/grub/memdisk harddisk
    initrd16 /winpe/WinPE_BIOS.vhd
  fi
}
///windows PE系统可由windows ADK工具生成,memdisk由syslinux工具提供

U盘分区3 linux启动

menuentry "随身linux或其他命名" {
  set root=$p3part
  linux /boot/vmlinuz-5.3.18-lp152.19-default root=UUID=$p3uuid quiet mitigations=off
  initrd /boot/initrd-5.3.18-lp152.19-default
}
///将linux安装至分区3,即可实现u盘启动
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352

推荐阅读更多精彩内容

  • 4.x86 CPU架构设计 4.1.x86硬件需求 对于通用交换机硬件需求,请参阅“交换机硬件需求”章节描述。 x...
    半天妖阅读 5,407评论 0 1
  • 编译grub2-mips启动器,制作 MIPS 架构的 grubmips64el.efi Compile the ...
    2puT阅读 15,476评论 0 0
  • 起因 20年年末做了一个小项目,涉及到了linux系统的全盘加密, 在这个过程中回头从鸟哥开始,了解到了系统启动的...
    ohmyadd阅读 846评论 0 0
  • 虽然我很早就听说过elementary这个linux发行版,但是直到最近我才发现,与最美发行版之间差的是一台很好的...
    叮宕阅读 4,855评论 0 2
  • U盘linux系统汇总 1.Slitaz4.0中文定制版--微型口袋系统LinuxPE-3.8.5内核 重磅推荐h...
    vencol阅读 606评论 0 0