Web lists-archives.com

Re: BIOS Can Not Find Disk




On 12/01/17 10:50, Dan Norton wrote:
Maybe this is the wrong forum, but please bear with me a little bit. This post was sent from a desktop with jessie installed. The problem is it will not boot normally. Network booting has been disabled in the NVRAM setup. After POST there is a one-liner which says it can not find disk.

Please post the *exact* contents of the console screen.


It can be booted with a supergrub2 cd, however.


# fdisk -l

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: gpt
Disk identifier: A615A904-0620-459F-BF44-5E53E54FDF24

Device         Start        End    Sectors   Size Type
/dev/sda1       2048     411647     409600   200M BIOS boot
/dev/sda2     411648   16783359   16371712   7.8G Linux swap
/dev/sda3   16783360  151001087  134217728    64G Linux LVM
/dev/sda4  151001088  285218815  134217728    64G Linux LVM
/dev/sda5  285218816  419436543  134217728    64G Linux LVM
/dev/sda6  419436544  553654271  134217728    64G Linux LVM
/dev/sda7  553654272 1953525134 1399870863 667.5G Linux filesystem


This post is being written with Debian 8 installed on /dev/sda3, above.

How did you create the contents of this disk?


What are your LVM PV's, VG's, and LV's?


What are the corresponding file systems and where are their mount points?


What bootloader was installed -- LILO, GRUB, GRUB2, whatever?  And, where?


Apparently, BIOS does not see a bootable device.

Are you sure?  How did you reach that conclusion?


In the dim past, fdisk could set a partition as "active", which was its euphemism for "bootable". However now:


# fdisk /dev/sda

Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): a
a: unknown command


Additional info:

# uname -v
#1 SMP Debian 3.16.43-2+deb8u5 (2017-09-19)


HP Pro 3400 Series MT

https://support.hp.com/us-en/product/HP-Pro-3400-Microtower-PC/5160137


BIOS version 7.16 dated 03/23/2012 with no update found.


How can /dev/sda1 be defined so that the bios will see it as bootable?


On 12/01/17 13:23, Dan Norton wrote:
> 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

Your original post indicated a GPT partition table. Forcing an MS-DOS MBR partition type means the tool will be looking at fake information that your GPT formatting tool laid down on disk ("protective MBR", or some such; I avoid these complexities.)


> ...
>
> 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

Manipulating the fake information is unlikely to produce a desirable result. I would undo those changes.


> 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.

See my first comment.


> 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?

If you want to pursue the questions in your OP, I suspect that the solution will involve reverting the changes you made, configuring your firmware to see the GPT partition table, and configuring your bootloader to find the Debian 8 /boot and/or root file systems.


David