Grub shell命令
1. 查看硬盘信息¶
Bash
blkid # lsblk -f
/dev/sda6: LABEL="SWAP" UUID="33acfaa4-309e-427f-b5de-e9f822da03d4" TYPE="swap" PARTLABEL="logical" PARTUUID="2012053b-6f87-4335-94af-2aa4f10f9a81"
/dev/sda3: LABEL="SYSROOT" UUID="737cc321-986f-4a45-ba88-518beb1d25be" TYPE="ext4" PARTLABEL="SYSROOT" PARTUUID="fd40b272-69e1-41b8-8275-f3fc49354f45"
/dev/sda1: LABEL_FATBOOT="ESP" LABEL="ESP" UUID="9889-7D5D" TYPE="vfat" PARTLABEL="EFI" PARTUUID="7f2dee48-946f-489e-9cf9-58f7bd2f5363"
/dev/sda2: LABEL="SYSBOOT" UUID="766992bf-1f56-48b4-b200-7af02e5533e2" TYPE="ext4" PARTLABEL="boot" PARTUUID="811fb3a3-ce35-407b-b243-9549645a293d"
/dev/sda4: LABEL="KYLIN-BACKUP" UUID="07613bd1-b862-44f3-897b-6c5b754bb723" TYPE="ext4" PARTLABEL="backup" PARTUUID="4f14356f-9351-4973-8ecb-38f0e1d9ce7b"
/dev/sda5: LABEL="DATA" UUID="484fbf67-4293-40d2-b25a-8e14d61ffea0" TYPE="ext4" PARTLABEL="data" PARTUUID="de765052-1ef8-49e3-bb84-60fc9f000b26"
Bash
df -h
udev 1.9G 0 1.9G 0% /dev
tmpfs 385M 2.5M 383M 1% /run
/dev/sda3 58G 8.2G 47G 15% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda2 976M 483M 427M 54% /boot
/dev/sda5 39G 26G 11G 73% /data
/dev/sda1 511M 11M 501M 3% /boot/efi
tmpfs 385M 8.0K 385M 1% /run/user/1000
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 119.2G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 58.3G 0 part /
├─sda4 8:4 0 16G 0 part
├─sda5 8:5 0 38.9G 0 part /data
└─sda6 8:6 0 4.5G 0 part [SWAP]
2. grub shell¶
Bash
grub> set root=(hd1,gpt1) # 设置 / 为 (hd1, gpt1)
grub> ls /root
error: file `/root' not found.
grub> ls
(hd0) (hd0,gpt2) (hd0,gpt1) (hd1) (hd1,gpt6) (hd1,gpt5) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1)
grub> ls /
efi/ boot/
grub> set root=(hd0,gpt1)
grub> ls /
lost+found/ acore-image-beta-d2000-20221226041741.rootfs.tar.gz bin/ boot/ dev/ etc/ home/ lib/ log_l
run/ sbin/ srv/ sys/ tmp/ usr/ var/ Image-4.19.115-01-acorelinux
Bash
grub> ls
(hd0) (hd0,gpt2) (hd0,gpt1) (hd1) (hd1,gpt6) (hd1,gpt5) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1)
grub> ls (hd0,gpt1)
Partition hd0,gpt1: Filesystem type ext* - Last modification time 2025-09-09 18:45:19 Tuesday, UUID
899a2089-3dad-4547-998c-9ae44a046e61 - Partition start at 1024KiB - Total size 62914560KiB
grub> ls (hd0,gpt1)/
lost+found/ acore-image-beta-d2000-20221226041741.rootfs.tar.gz bin/ boot/ dev/ etc/ home/ lib/ log_lock.pid media
run/ sbin/ srv/ sys/ tmp/ usr/ var/ Image-4.19.115-01-acorelinux
grub> ls (hd0)
Device hd0: No known filesystem detected - Sector size 512B - Total size 117220824KiB
grub> ls (hd0)/
error: unknown filesystem.
Bash
|setparams 'AcoreLinux Embedded version V1.0.0.F.2'
|
| # 1. /
| insmod part_gpt # MBR insmod part_msdos
| insmod ext2 # xfs insmod xfsGRUB
|
| # 2. GRUBroot=/dev/sdb1
| # set root='PARTUUID=b96da6b5-dadf-5041-8c89-e20546c6c7d2' # hd1gpt1
| # set root=(hd0,gpt1)
| set root='UUID=899a2089-3dad-4547-998c-9ae44a046e61' # hd1gpt1
|
| # 3. +linux
| linux /root/Image-4.19.115-01-acorelinux \
| root=UUID=899a2089-3dad-4547-998c-9ae44a046e61 \ # set root
| console=ttyAMA1,115200 \ #
| loglevel=7 \ # 73
| rootdelay=5 \ #
| KEYBOARDTYPE=pc \ #
| KEYTABLE=us #
以上代码可以在grub shell中一行一行执行
Bash
grub> insmod part_gpt
grub> insmod ext2
grub> insmod part_gpt
grub> insmod search_fs_uuid
grub> search --fs-uuid 899a2089-3dad-4547-998c-9ae44a046e61
hd0,gpt1 hd0,gpt1
grub> ls /
lost+found/ acore-image-beta-d2000-20221226041741.rootfs.tar.gz bin/ boot/ dev/ etc/ home/ lib/ log_lock.pid media
run/ sbin/ srv/ sys/ tmp/ usr/ var/ Image-4.19.115-01-acorelinux
grub> ls /boot
EFI/ Image Image-4.19.115-01-acorelinux Module.symvers-4.19.115-01-acorelinux System.map-4.19.115-01-acorelinux
config-4.19.115-01-acorelinux d2000-devboard-dsk.dtb
grub>