Linux实现U盘启动(1.GRUB安装U盘)

Linux实现U盘启动(1.GRUB安装U盘),第1张

简单的说,GRUB 是系统的启动引导程序。我们要启动系统时,需要通过BIOS启动硬盘0扇区的程序引导启动系统内核。从早期的 MBR到如今的UEFI启动类型和GUID分区表 (GPT) 特殊 *** 作。想了解详情自行查阅资料。

Linux系统 U盘

首先我们要给U盘分区。通过下面命令查看U盘的挂在情况。

如果挂载正常,就可以通过下面命令给U盘分区。(/dev/sdb是我的U盘)

d删除所有分区,然后o写入DOS分区表,再n添加分区。配置好后w保存退出。

然后格式化U盘分区。命令:

然后挂载U盘,如果U盘无法挂载,可以把分区类型改为Linux filesystem(20类型),挂载后再改回BIOS boot(4类型)。否则GURB安装时会提示错误。

挂载命令

--force 选项启用对 blocklists(块列表)的支持

--debug 显示安装信息

第一个路径挂载的分区路径,第二个路径为U盘的设备路径。

至此我们已经把GRUB安装到了U盘。U盘会多个boot目录 。

可以重启BIOS选U盘启动,正常的话会进入GRUB 命令行。

下一篇说说GRUB配置

用BOOTICEx64写入

重新分区:

选择“USB-HDD模式”,点击“确定”,进入下一步;

文件系统:fat32分区起始:64;保留扇区:2228

写入主引导记录:

选择“GRUB4DOS”,点击“安装/配置”,进入下一步;

grub4dos:选择复制第一主分区的bpb到mbr,安装windowsNT6 mbr到第二扇区;禁止搜索软盘,禁止无效地原主引导记录;

menu.lst

title Load syslinux menu

chainloader (hd0,0)+1

menu.cfg

LABEL grub4dos

MENU LABEL Grub4dos

KERNEL /grub.exe

提取了 LiveOS、Packages、.diskinfo、RPM-*isolinux/vmlinux、initrd.img 放在 LiveOS 下

根据 /efi/boot/grub.cfg 在 grub.lst 添加入口

title CentOS 7 liveCD

kernel /LiveOS/vmlinuz inst.stage2=hd:LABEL=CENTOS7

initrd /LiveOS/initrd.img

u盘LABEL 改成 CENTOS7

centos kernel 传递参数 root=live:/dev/sdb1

inst.stage2=hd:LABEL=CENTOS7 root=live:/dev/sdb1

linux repo=hd:/dev/sdb1:/CentOS7

menuentry 'Install CentOS 7' --class fedora --class gnu-linux --class gnu --class os {

linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CENTOS7

initrdefi /images/pxeboot/initrd.img

}

menuentry “安装CentOS7” {

loopbadk loop /CentOS7/CentOS7.iso

linux (loop)/isolinux/vmlinuz inst.stage2=hd:LABEL=CENTOS7

initrd (loop)/isolinux/initrd.gz

}

互相调用

从grub4dos转到syslinux:

title 启动 syslinux 菜单

chainloader /boot/syslinux/syslinux.te.bin

title 启动 grub2 菜单

find --set-root /myudisk.txt

kernel /EFI/Grub2/BIOS/i386-pc/core.img

boot

menuentry "启动 grub4dos 菜 单" {

linux16 /grub/grub.exe --config-file="configfile /menu.lst"

}

从grub2转到syslinux:

menuentry "启动 syslinux 菜 单" {

search --file /myudisk.txt --set=root

chainloader /boot/syslinux/syslinux.te.bin

}

LABEL 启动 Grub4Dos 菜单

MENU LABEL [^H] -- Grub4Dos 氨

kernel /boot/syslinux/chain.c32

append fs ntldr=/grldr

LABEL 启动 Grub2 菜单

MENU LABEL [^I] -- Grub2

kernel /EFI/Grub2/BIOS/G2ldr

boot /EFI/Grub2/BIOS/G2ldr

dracut:/# 输入命令

cd /dev

改为:

vmlinuz initrd=initrd.img

inst.stage2=hd:/dev/sda quiet


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/6266722.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-19
下一篇2023-03-19

发表评论

登录后才能评论

评论列表(0条)

    保存