制作一个可启动的CentOS8 USB 启动盘
CentOS是一个稳定的Linux版本。系统的镜像可以从官方网站https://www.centos.org/download/下载到。 下载后得到的是一个ISO镜像文件, 用UltraISO可以很快捷的制作USB启动盘。 但问题来了, 按照流程做好的启动盘,往往不能正常安装。安装过程中会提示找不到源。
试了几次, 错误的流程如下:
1.先是出现貌似安装的样子:
然后会到上图这一步,不成功。提示的是/dev/root找不到。也就是没有找到USB的安装源文件。反复尝试多次,最后找到的症结是UltraISO在制作USB启动盘时,把USB的标签(LABEL)截短了。
回到安装开始界面, 系统提示:
setparnet:'Install CentOS Linux 8'
Linuxefi /images/preboot/vmlinuz inst.stage2=hd:LABEL=CentOS-8-2-2004-X86_64-dvd quiet
initrdefi /images/pxeboot/initrd.rmg
按照屏幕提示内容, 打开UltraISO,images/pxeboot目录下是用initrd.img文件的, 但系统就是找不到。再看屏幕下面还有一行提示:
Press Ctrl-X to start, Ctrl-c for a command prompt or Escape to discard edits and return to the menu. Pressing Tab lists possible Completions.
这里可以根据提示, 手动编辑前面的引导信息,把LABEL=后面的信息改为USB的盘标签, 正确的情况下也能引导。( 这一步操作网上很多技术资料可供参考, 只是不要去改成/hd:/dev/sdb*** .试过,没有成功,当然不排除有成功的先例)。
具体案例,我的U盘在Windows系统下打开, U盘的标签是CENTOS-8-2-,后边没有了,显然被截取掉了。
如果熟悉Linux命令可以在这里编辑第一行,把LABEL=后面的字符也截取为CentOS-8-2-,注意的是行尾的”\"是换行标识符,要截取到下一行的dvd处。 根据情况是否加 “\", quite要保留。 根据屏幕提示信息进行安装。
上面的操作还是有一定难度, 更直接的做法在U盘里直接修改启动配置文件。
用文本编辑工具打开U盘下EFI/BOOT/grub.cfg 文件,文件内容如下:
set default="1"
function load_video {
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
insmod all_video
}
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set timeout=60
### END /etc/grub.d/00_header ###
search --no-floppy --set=root -l 'CentOS-8-2-2004-x86_64-dvd'
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Install CentOS Linux 8' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CentOS-8-2-2004-x86_64-dvd quiet
initrdefi /images/pxeboot/initrd.img
}
menuentry 'Test this media & install CentOS Linux 8' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CentOS-8-2-2004-x86_64-dvd rd.live.check quiet
initrdefi /images/pxeboot/initrd.img
}
submenu 'Troubleshooting -->' {
menuentry 'Install CentOS Linux 8 in basic graphics mode' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CentOS-8-2-2004-x86_64-dvd nomodeset quiet
initrdefi /images/pxeboot/initrd.img
}
menuentry 'Rescue a CentOS Linux system' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CentOS-8-2-2004-x86_64-dvd rescue quiet
initrdefi /images/pxeboot/initrd.img
}
}
把文件中的CentOS-8-2-2004-x86_64-dvd 全部替换成U盘的标签CentOS-8-2- 保存即可。
安全起见, 把U盘的标签先改为CENTOS8, 然后把对应的CentOS-8-2-2004-x86_64-dvd 替换成CENTOS8. 再次安装, 成功引导到图形界面。