700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 在U盘上安装Grub 并引导iso镜像

在U盘上安装Grub 并引导iso镜像

时间:2023-10-03 21:50:36

相关推荐

在U盘上安装Grub 并引导iso镜像

在U盘上安装Grub2并添加引导

用lsblk -f命令来察看磁盘分区(同时可以得到磁盘的UUID,之后会用到):

$ lsblk -f

NAME FSTYPE LABEL UUID MOUNTPOINT

sda

├─sda1 vfat 9382-DA94 /boot/efi

├─sda2 swap 103456e6-b2de-4201-ba36-06105230948a [SWAP]

├─sda3 ext4 8b65c03b-e92e-4274-a280-857b0c4f54b3 /

├─sda4 ext4 ed12ec55-204b-47e6-bb55-cbf0d69fa824 /home

├─sda5

└─sda6 ntfs OS 021AAF501AAF4011

sdb

└─sdb1 vfat 5BB5-0BFB

sr0

这里的U盘是sdb,只有一个分区sdb1。创建一个文件夹,把要用来存储Grub相关文件的U盘分区挂载到此文件夹上

如:# mount /dev/sdb1 /home/user/usb

安装Grub2,如:# grub--install --force --no-floppy --root-directory=/home/user/usb /dev/sdb (注意这里的参数是U盘,而不是分区)

安装完成之后U盘上已经有了Grub相关的文件,如:

$ tree usb/

usb/

├── archlinux-dual.iso

├── boot

│ └── grub

│ ├── fonts

│ │ └── unicode.pf2

│ ├── grub.cfg

│ ├── grubenv

│ ├── i386-pc

│ │ ├── 915resolution.mod

│ │ ├── zfsinfo.mod

│ │ └── ...

│ ├── locale

│ │ ├── ast.mo

│ │ ├── zh_CN.mo

│ │ └── ...

│ ├── themes

│ │ └── starfield

│ │ ├── blob_w.png│ │ ├── terminal_box_w.png

│ │ └── ...

│ └── x86_64-efi

│ ├── acpi.mod

│ ├── affs.mod

│ └── ...

└── EFI

└── arch

└── grubx64.efi

现在将grub的配置文件复制到U盘的对应目录中,$ "cp /boot/grub/grub.cfg /home/user/usb/boot/grub/grub.cfg"

备份grub的配置文件(这一步可以不进行,不会影响启动U盘的制作):

# mkdir -p /home/user/usb/etc/default

# cp /etc/default/grub /home/user/usb/etc/default

# cp -a /etc/grub.d /home/user/usb/etc

为U盘上的grub添加启动菜单,这里以引导Arch的镜像文件为例:

menuentry "Archlinux-x86_64.iso" --class iso {

set isofile="/archlinux-.04.01-dual.iso"

loopback loop (hd0,1)$isofile

linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=Your_label img_dev=/dev/disk/by-uuid/5BB5-0BFB img_loop=$isofile earlymodules=loop

initrd (loop)/arch/boot/x86_64/archiso.img

}

代码很简单,这里的UUID就是上面得到的U盘存储grub相关文件的分区的UUID

当然也可以参考grub的相关文档自己添加启动项

本文根据Arch Wiki的Grub页面(/index.php/GRUB_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29)和此地址(https://blog.icehoney.me/posts/-04-25-grub2-boot-from-iso)的文章整理

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。