GRUB always enters a rescue shell.

Hao Lee haolee.swjtu at gmail.com
Thu Jul 13 04:39:09 EDT 2017


Hi,

I encounter a problem when making a bootable disk image because GRUB
always enters a
rescue shell.

I want to create a disk image and install GRUB 2 on it and then use
Bochs to run it. The steps are as follows.

System Environment:
OS: Fedora 25 x86
GRUB version: grub2-install (GRUB) 2.02~beta3
Bochs version: 2.6.9

1. Create a empty disk image.

dd if=/dev/zero of=hd.img bs=$((16*63*512)) count=100

2. Create a primary partition.

fdisk -u -C100 -S63 -H16 hd.img

The partition  table is:
Device     Boot Start    End Sectors  Size Id Type
hd.img1          2048 100799   98752 48.2M 83 Linux

3. Attach the whole image to /dev/loop0 and attach the first partition
to /dev/loop1

sudo losetup /dev/loop0 hd.img
sudo losetup -o $((2048*512)) /dev/loop1 hd.img

4. Format the first partition to ext4 and mount it to /mnt/

sudo mkfs.ext4 /dev/loop1
sudo mount -t ext4 /dev/loop1 /mnt

5. Create GRUB directory.

sudo mkdir -p /mnt/boot/grub2

6. Install GRUB 2

sudo grub2-install --boot-directory=/mnt/boot /dev/loop0

7. Start Bochs.

bochs -f test.bxrc

These steps are straight and simple. However, GRUB always enters a
rescue shell instead of entering normal mode.
When I use the set and ls command to show more information, I can only
see (hd0) and the first partition (hd0,1) is disappeared. The screen
output is as follows:
----------------------------------------------------
Bochs BIOS - build: 02/16/17
ata0 master: Generic 1234 ATA-6 Hard-Disk (  49 MBytes)
Press F12 for boot menu.
Booting from Hard Disk...
.
error: no such device: c5b2c483-70c2-4212-840b-da5f965d0555.
error: unknown filesystem.
Entering rescue mode...
grub rescue> set
prefix=(hd0)/boot/grub2
root=hd0
grub rescue> ls
(hd0)
grub rescue>
----------------------------------------------------

Could someone help me out? Many thanks!

Regards,
Hao Lee



More information about the Kernelnewbies mailing list