[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: my simple OS won't boot in QEMU
From: |
Donald R Laster Jr |
Subject: |
Re: my simple OS won't boot in QEMU |
Date: |
Sun, 4 Apr 2021 00:17:50 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:60.0) Gecko/20100101 Firefox/60.0 SeaMonkey/2.53.7 |
Bill,
The first question to consider is how did you remove /dev/sda4? Did you use
[c]fdisk, or an appropriate W95/DOS disk partition tool, to delete the
/dev/sda4 partition, or was some other manual method used (i.e. a short cut
copy process). It is possible the loader is expecting specific information in
the disk partition table. Also, remember the last sector on the disk often
contains a copy of the MBR.
I did a duckduckgo search using "disk partition boot record" and one of the
sites found with information that might be useful is:
https://datacadamia.com/data_storage/mbr
What you may want to do is setup the virtual machine that is using the disk
image to effectively boot from a bootable CD/DVD device/image and from within
the booted OS change the disk partition data with [c]fdisk or appropriate
W95/DOS disk partition tool.
And since you are using what appears to be a raw image, i.e. .img, the way
you removed /dev/sda4 may have caused the issue due to the you not using the
expected size of the disk image.
Don
bilsch01 wrote on 4/2/21 3:15 PM:
This post concerns booting sda2 using QEMU. sda2 boots just fine when run on
HD.
The layout of the HD looks like this:
Device Boot Start End Sectors Size Id Type
/dev/sda1 63 3903794 3903732 1.9G 6
FAT16
/dev/sda2 * 3903795 4032314 128520 62.8M e W95
FAT16 (LBA)
/dev/sda3 4032315 4082714 50400 24.6M e W95
FAT16 (LBA)
/dev/sda4 4083710 976771071 972687362 463.8G 5 Extended
The command line I have been using is: qemu-system-i386 -drive
file=qemu4dell.img
File qemu4dell.img is an image of the first 3 partitions created using the
linux dd command as follows:
dd if=/dev/sda of=qemu4dell.img bs=512 count=4082720 (the file has 6 extra
bytes).
In the first sector (the MBR) of qemu4dell.img I have zeroed out line 4 of the
partition table because the file does not include partition 4.
If the boot flag is set for sda1 in file qemu4dell.img the command line above
boots sda1 (MSDOS 6.22) just fine.
If the boot flag is set for sda2 in file qemu4dell.img the command line above
results in error message:
missing operating system.
Careful examination of the boot program (IPL) in the first sector of
qemu4dell.img shows that that message occurs if the IPL can't find the hex
value AA55 at the end of the first sector of the partition to be booted (which
is sda2). I refer to the first sector of sda2 as vbs2. I have double checked in
qemu4dell.img and ensured that vbs2 sector is in the correct location in the
file and that the value AA55 is in the correct place in the sector.
I can see no reason why QEMU doesn't boot sda2, because QEMU can boot sda1 ok,
and also sda2 boots fine on the HD itself. Perhaps someone in this QEMU group
knows the answer.
Thanks.
Bill Schaible