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

Re: BIOS Can Not Find Disk



On 12/02/2017 02:35 PM, David Christensen wrote:
On 12/01/17 20:07, Dan Norton wrote:
On 12/01/2017 08:54 PM, David Christensen wrote:
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.

ERROR:No boot disk has been detected or the disk has failed.

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?

fdisk for sda1 and sda2, then installer for sda3 through sda7. The installer was from Debian 8.9 netinst on cd.

Does the disk have the original GPT partition table created by HP, or did you overwrite it?

It had no GPT until I put  one on it. Previous scheme was 4 primaries and 1 extended. The extended had logicals for /, /home, /tmp, and /var.




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

# lvm pvdisplay
   --- Physical volume ---
   PV Name               /dev/sda3
   VG Name               debian8-vg
   PV Size               64.00 GiB / not usable 4.00 MiB
   Allocatable           yes
   PE Size               4.00 MiB
   Total PE              16383
   Free PE               9399
   Allocated PE          6984
   PV UUID vyN3Lt-vGyw-lVZi-RDBG-NoXL-nqlH-k9eolf

   "/dev/sda4" is a new physical volume of "64.00 GiB"
   --- NEW Physical volume ---
   PV Name               /dev/sda4
   VG Name
   PV Size               64.00 GiB
   Allocatable           NO
   PE Size               0
   Total PE              0
   Free PE               0
   Allocated PE          0
   PV UUID QqDROv-x2rg-3C3z-Lkdw-U95u-86BT-Jzrc6O

   "/dev/sda5" is a new physical volume of "64.00 GiB"
   --- NEW Physical volume ---
   PV Name               /dev/sda5
   VG Name
   PV Size               64.00 GiB
   Allocatable           NO
   PE Size               0
   Total PE              0
   Free PE               0
   Allocated PE          0
   PV UUID oOQuaB-qAIu-q3DW-1h0B-rKA0-q1Z4-oznScr

   "/dev/sda6" is a new physical volume of "64.00 GiB"
   --- NEW Physical volume ---
   PV Name               /dev/sda6
   VG Name
   PV Size               64.00 GiB
   Allocatable           NO
   PE Size               0
   Total PE              0
   Free PE               0
   Allocated PE          0
   PV UUID hHiVce-cC0V-u7zz-tqjU-5Rdd-nPza-BlPMQz


# lvm vgdisplay
   --- Volume group ---
   VG Name               debian8-vg
   System ID
   Format                lvm2
   Metadata Areas        1
   Metadata Sequence No  17
   VG Access             read/write
   VG Status             resizable
   MAX LV                0
   Cur LV                4
   Open LV               4
   Max PV                0
   Cur PV                1
   Act PV                1
   VG Size               64.00 GiB
   PE Size               4.00 MiB
   Total PE              16383
   Alloc PE / Size       6984 / 27.28 GiB
   Free  PE / Size       9399 / 36.71 GiB
   VG UUID               lfqcVE-yP6G-IeYF-zHYt-jc60-Jzas-c1fr5p


# lvm lvdisplay
   --- Logical volume ---
   LV Path                /dev/debian8-vg/root
   LV Name                root
   VG Name                debian8-vg
   LV UUID                Eh9QwL-dTlm-s8H5-5FYN-CxBl-wnvn-om3Pbx
   LV Write Access        read/write
   LV Creation host, time debian8, 2017-11-20 12:32:12 -0500
   LV Status              available
   # open                 1
   LV Size                9.31 GiB
   Current LE             2384
   Segments               1
   Allocation             inherit
   Read ahead sectors     auto
   - currently set to     256
   Block device           254:0

   --- Logical volume ---
   LV Path                /dev/debian8-vg/home
   LV Name                home
   VG Name                debian8-vg
   LV UUID                NugOd8-PRZM-9B1e-n0Ut-MWuB-Svso-Cfyxoe
   LV Write Access        read/write
   LV Creation host, time debian8, 2017-11-20 12:33:08 -0500
   LV Status              available
   # open                 1
   LV Size                9.31 GiB
   Current LE             2384
   Segments               1
   Allocation             inherit
   Read ahead sectors     auto
   - currently set to     256
   Block device           254:1

   --- Logical volume ---
   LV Path                /dev/debian8-vg/tmp
   LV Name                tmp
   VG Name                debian8-vg
   LV UUID                Met5mR-J5iz-KFvz-v58s-Y0B0-J2p0-v9pv8q
   LV Write Access        read/write
   LV Creation host, time debian8, 2017-11-20 12:34:09 -0500
   LV Status              available
   # open                 1
   LV Size                284.00 MiB
   Current LE             71
   Segments               1
   Allocation             inherit
   Read ahead sectors     auto
   - currently set to     256
   Block device           254:2

   --- Logical volume ---
   LV Path                /dev/debian8-vg/var
   LV Name                var
   VG Name                debian8-vg
   LV UUID                Wey2Pw-NO64-FjKH-Zvva-BJkV-ZlKE-SNmcjF
   LV Write Access        read/write
   LV Creation host, time debian8, 2017-11-20 12:35:22 -0500
   LV Status              available
   # open                 1
   LV Size                8.38 GiB
   Current LE             2145
   Segments               1
   Allocation             inherit
   Read ahead sectors     auto
   - currently set to     256
   Block device           254:3

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

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

GRUB2 to sda1.

To summarize:

/dev/sda1 200 MB -- GRUB2 boot code (?)

/dev/sda2 has 7994 MB swap

/dev/sd3 is a 64 GB LVM PV allocated to VG 'debian8-vg', which is allocated as follows

  9.31 GiB LV 'root' -- ext4 file system mounted at /?

  9.31 GiB LV 'home' -- ext4 file system mounted at /home?

  284.00 MiB LV 'tmp' -- ext4 file system mounted at /tmp?

  8.38 GiB LV 'var' -- ext4 file system mounted at /var?


Yes to all four questions.


36.71 GiB free

/dev/sd4 is an unallocated 64 GB LVM PV

/dev/sd5 is an unallocated 64 GB LVM PV

/dev/sd6 is an unallocated 64 GB LVM PV

/dev/sd7 667+ GB -- what is this used for?


Nothing at this time.



Where is /boot?


In LV root, in sda4.



Apparently, BIOS does not see a bootable device.

Are you sure?  How did you reach that conclusion?

ERROR:No boot disk... does not look like something I expect from GRUB2, but I haven't searched the source code.

HP Pro 3400 Series MT

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

The above url was used to search for bios updates. None found, as stated.
HP Diagnostics were run; all passed, including S.M.A.R.T.

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

A new empty GPT partition table was created by fdisk prior to install. Selection "g" under "Create a new label". Avoiding complexities is high on my list of desirables.

UEFI, GPT, and multi-boot all add complexity.


I did BIOS/MBR multi-boot years ago -- PITA.  Now I KISS and do BIOS/MBR and one OS per disk.  I've only read about UEFI/GPT installation and system disks. so my help will be limited.


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

? Not sure which comment you are indicating.

My first comment was "Please post the *exact* contents of the console screen".


STFW I found "Maintenance & Service Guide HP Pro 3400 Microtower Business PC ...":

http://h10032.www1.hp.com/ctg/Manual/c03550748

This got my attention, sure. I tweaked every feature in Setup but most of the stuff in the manual is not available on this PC. NOTE: Not all settings shown in the following sections are available for all models



p.12

    Table 3-3 Computer Setup—Storage (continued)

    Boot Order

Have you set /dev/sda1 as the first EFI boot source in EFI Boot Sources?


p. 18

    Table 3-6 Computer Setup—Advanced (for advanced users)

    Power-On Options

I would set "POST mode" to FullBoot.

I would set "Post messages" to Enabled.


p. 128

    B POST Error Messages

    POST Message Disabled suppresses most system messages during POST,
    such as memory count and non-error text messages. If a POST error
    occurs, the screen will display the error message. To manually
    switch to the POST Messages Enabled mode during POST, press any key
    (except F10, F11, or F12). The default mode is POST Message
    Disabled.

See if you can get more messages that precedes "ERROR:No boot disk has been detected or the disk has failed" and post the contents of the console screen.


p.129

    POST Numeric Codes and Text Messages

    This section covers those POST errors that have numeric codes
    associated with them. The section also includes some text messages
    that may be encountered during POST.

    NOTE:
    The computer will beep once after a POST text message is displayed
    on the screen.

Does the computer beep once after displaying "ERROR:No boot disk has been detected or the disk has failed"?


Wish I could do the above, but there is no provision for it on mine. There is no beep. "Press any key" was news to me. Each press produces another "ERROR:No boot disk has been detected or the disk has failed"


STFW I also found "GPT hard Disk Drives For HP Desktops" which provides useful background information:

http://h10032.www1.hp.com/ctg/Manual/c02826744


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


There have been lots of changes as I've tried to learn how to multiboot with LVM and GPT.

I hope you are making images and taking good notes.

I typically remove all the drives except my target system drive (I prefer 16+ GB SSD's), reset the BIOS CMOS settings, boot the Debian distribution image into a rescue console, wipe the system drive, boot the Debian distribution image into the installer, do a fresh install, and build up from there (taking good notes as I go).  It can take me several attempts before I find a recipe that works (then I take an image).  I would get another 1 TB drive and create an mdadm RAID1 or ZFS mirror.


Another drive

Are you referring to the "fdisk -t dos /dev/sda" change?

I was referring to:

    Command (m for help): a
    Selected partition 1

    Command (m for help): w


Yes, that was made possible by "fdisk -t dos /dev/sda" and it's been reverted.



Not sure how to configure the firmware to see the GPT partition, beyond Esc after power-on and selecting UEFI or boot using the defaults.

Configuring the bootloader was something I was going to do after the disk could be found.


Using the supergrub2 cd to boot is feasible, barely, it takes 3 or 4 minutes to get to the logon. It probably succeeds where others fail because it has an option to activate lvm support.

I'm not making progress with this PC so I'll probably abandon GPT. The disk is 1T and it was handled by the extended partition scheme before this experiment and it probably can again. I still want to do LVM and multiboot a few systems though.

 - Dan


Reply to: