[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: BIOS Can Not Find Disk



On 12/01/2017 02:29 PM, Pascal Hambourg wrote:
Le 01/12/2017 à 19:57, Greg Wooledge a écrit :
On Fri, Dec 01, 2017 at 01:50:12PM -0500, Dan Norton wrote:
Disklabel type: gpt

Apparently, BIOS does not see a bootable device. In the dim past, fdisk
could set a partition as "active", which was its euphemism for "bootable".
However now:

GPT disk labels don't have active/bootable partitions.

Yes they do. They even have two kinds of them.

- Partition attribute bit 2 = legacy BIOS bootable.
It is supposed to be equivalent to the boot/active flag in partition entries of the MBR. I just wonder how a BIOS would use that, though.

- The good old boot/active flag of the GPT protective partition entry in the MBR. Some BIOSes require it to boot a drive regardless of the presence of a GPT disk label. It can be set with parted which considers it as a disk flag (disk_set pmbr_boot on), or by fdisk by forcing it to use the protective DOS/MBR disk label (-t dos).


This really sounds good. I could not figure out how to get at the protective mbr and turn on that bit. Here's what I tried, after doing a backup:

# fdisk -t dos /dev/sda

...

Command (m for help): m

Help:

  DOS (MBR)
   a   toggle a bootable flag
   b   edit nested BSD disklabel
   c   toggle the dos compatibility flag

...

Command (m for help): a
Selected partition 1
The bootable flag on partition 1 is enabled now.

Command (m for help): p
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3f90eec3

Device     Boot Start        End    Sectors   Size Id Type
/dev/sda1  *        1 1953525167 1953525167 931.5G ee GPT


Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

# partprobe -s /dev/sda

After removing the cd and shutting down, re-booted from power-off state, but unfortunately still got the "disk not found" message on a black screen.

The PC is simply not seeing the 1T sda, which is the only disk. It's not even getting as far as the mbr/grub. The PC appears to be no more than 5 years old, based on the BIOS date, but it may be old enough to have a flaky UEFI. Should I abandon the use of GPT?


Reply to: