在Linux系统中进入U盘启动项是安装系统、运行Live环境或进行系统修复的常见操作,具体方法根据场景可分为两类:通过BIOS/UEFI设置直接启动U盘,或在已运行的Linux系统中通过GRUB引导加载U盘,以下是详细操作步骤和注意事项。
前提条件:确保U盘可正常启动
在尝试进入U盘启动前,需确认U盘已正确制作启动盘,且包含引导文件(如isolinux.cfg或EFI/BOOT/BOOTX64.EFI),可通过以下方式验证:
- Windows下:使用工具(如Rufus)制作启动盘时,选择“DD模式”或“ISO Image”模式,并确保分区类型(MBR/GPT)与电脑启动模式(Legacy/UEFI)匹配。
- Linux下:使用
dd
命令制作启动盘(如sudo dd if=/path/to.iso of=/dev/sdb bs=4M status=progress
),注意设备名不要写错(如/dev/sdb
而非/dev/sdb1
)。
通过BIOS/UEFI设置直接启动U盘
这是最直接的方式,适用于无法进入Linux系统或需强制从U盘启动的场景,操作步骤如下:
进入BIOS/UEFI设置界面
重启电脑,在开机画面出现时立即按下特定按键进入BIOS/UEFI(不同品牌电脑按键不同,常见按键如下表):
电脑品牌 | 进入BIOS按键 | 电脑品牌 | 进入BIOS按键 |
---|---|---|---|
Lenovo/ThinkPad | F2、F12 | Dell | F2、F12 |
HP/Compaq | F10、Esc | ASUS | F2、Del |
Acer | F2、Del | MSI | Del |
华硕/微星 | F2、Del | 苹果Mac | Option(开机时长按) |
若未显示按键,可查阅电脑说明书或品牌官网支持文档。
在BIOS/UEFI中设置U盘为第一启动项
进入BIOS后,找到“Boot”或“启动”选项卡,具体操作因界面而异,但核心步骤一致:
- Legacy模式(传统BIOS):在“Boot Device Priority”或“启动设备顺序”中,找到U盘设备名(通常显示为“USB-HDD”“USB Flash Disk”等),通过键或
F5/F6
将其移动至第一位。 - UEFI模式:在“Boot Option #1”或“启动选项#1”中,选择U盘对应的UEFI启动项(通常显示为“UEFI: USB [品牌]”),若未显示,需在“Boot Maintenance Manager”或“启动维护管理器”中手动添加。
关闭Secure Boot(可选)
若U盘启动文件未签名(如自行制作的Linux安装盘),需在“Security”或“安全”选项卡中关闭“Secure Boot”(安全启动),否则可能因签名验证失败而无法启动。
保存设置并重启
按下F10
键(部分电脑为Save Changes and Exit
),选择“Yes”保存设置,电脑将自动重启并从U盘启动。
通过Linux系统GRUB引导加载U盘
若已进入Linux系统(如Ubuntu、CentOS等),可通过修改GRUB配置添加U盘启动项,无需重启进入BIOS,操作步骤如下:
确认U盘设备名和分区
插入U盘,打开终端,使用lsblk
或fdisk -l
命令查看U盘设备名(如/dev/sdb
)及其分区(如/dev/sdb1
):
sudo lsblk -f # 查看块设备及文件系统 sudo fdisk -l # 查看分区表
确认U盘分区类型(如FAT32、NTFS)和挂载点(如/media/user/USB
)。
创建GRUB启动项配置文件
以管理员权限编辑GRUB自定义配置文件(路径因发行版而异):
- Ubuntu/Debian:
/etc/grub.d/40_custom
- CentOS/RHEL:
/etc/grub.d/01_userscript
sudo nano /etc/grub.d/40_custom # 使用文本编辑器打开文件
在文件末尾添加以下内容(根据U盘实际情况修改路径):
menuentry "USB Boot" { set root='(hd1,msdos1)' # Legacy模式:hd1表示第二个硬盘,msdos1表示第一个分区 # 或 set root='(hd1,gpt1)' # UEFI模式:gpt1表示GPT分区的第一个分区 linux /vmlinuz # U盘中的Linux内核文件路径 initrd /initrd.img # U盘中的initrd文件路径 }
注意:
hd1
表示第二个硬盘(hd0
为第一块硬盘,即系统盘),若U盘是唯一硬盘则为hd0
;msdos1
/gpt1
需与U盘分区类型匹配(MBR分区用msdos
,GPT分区用gpt
);- 若U盘文件系统为FAT32,可直接通过
ls -l /media/user/USB
查找vmlinuz
和initrd.img
的完整路径。
更新GRUB配置并重启
保存文件后,执行以下命令更新GRUB配置:
sudo update-grub # Ubuntu/Debian sudo grub2-mkconfig -o /boot/grub2/grub.cfg # CentOS/RHEL
重启电脑,在GRUB启动菜单中选择“USB Boot”即可进入U盘启动项。
常见问题排查
-
BIOS中未显示U盘
- 检查USB接口是否正常(尝试更换接口);
- 确认BIOS中“USB Support”或“USB Legacy Support”已开启;
- 若为UEFI模式,确保U盘分区为FAT32格式(UEFI标准要求)。
-
U盘启动后报错“boot error”或“no such partition”
- 检查U盘启动盘制作是否完整(重新制作启动盘);
- 确认引导模式(Legacy/UEFI)与U盘分区类型(MBR/GPT)匹配;
- 若为GRUB引导,检查
set root
路径是否正确(可通过ls (hd0,msdos1)/
验证分区是否存在)。
相关问答FAQs
问题1:为什么在BIOS中设置了U盘启动,但重启后还是从硬盘启动?
解答:可能原因包括:① BIOS设置未保存(需按F10
确认保存);② 启动顺序中U盘未排在第一位(重新检查“Boot Order”);③ U盘启动文件损坏(重新制作启动盘);④ 电脑启动模式(Legacy/UEFI)与U盘分区类型不匹配(如UEFI模式下U盘为MBR分区,需重新格式化为GPT并制作启动盘)。
问题2:通过GRUB添加U盘启动项后,启动时提示“error: file not found”怎么办?
解答:该错误通常是因为GRUB配置中的内核或initrd文件路径错误,需重新检查U盘中的文件结构:
- 使用
sudo mount /dev/sdb1 /mnt
挂载U盘; - 执行
ls -l /mnt
确认vmlinuz
和initrd.img
是否存在; - 若文件名不同(如
vmlinuz-5.15.0-88-generic
),需修改GRUB配置中的路径为linux /mnt/vmlinuz-5.15.0-88-generic
,保存后更新GRUB并重启。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/37767.html