You are not logged in.

#1 2019-03-19 10:14:14

erickwill
Member
Registered: 2013-11-05
Posts: 137

Boot Device Not Found - Hard Disk (3F0)

Dear Fellas,

Couple weeks ago, I started to have a weird issue on my laptoop (HP Envy M7-J178) regarding the boot process.
It used to have 02 HDDS, dual boot (Arch Linux and Windows 10) but the sata cable started to give me problems so I ordered another one and removed the Windows 10. From that time on, probably, I cannot boot Arch from straight, I mean, every time I shutdown and remove the power cord I have to use the installation USB to boot in otherwise I got a Bios message saying with the error "Boot Device Not Found - Hard Disk (3F0)".
Tried to replace CMOS battery, tried to replace the HDD.. proceeded a Arch fresh installation.. and no luck so far.
The only thing I still did was to replace the SATA cable as well (I have to order online).

Any help is appreciated.

Offline

#2 2019-03-19 11:16:42

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,680
Website

Re: Boot Device Not Found - Hard Disk (3F0)

The HP support page suggests that the cable might not be connected properly (or faulty): https://support.hp.com/gb-en/document/c01443463

If you're sure the cable is OK then please post the output of

# efibootmgr -v

Offline

#3 2019-03-19 12:15:20

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: Boot Device Not Found - Hard Disk (3F0)

Head_on_a_Stick wrote:

The HP support page suggests that the cable might not be connected properly (or faulty): https://support.hp.com/gb-en/document/c01443463

If you're sure the cable is OK then please post the output of

# efibootmgr -v

The other cable could be the culprit, however, when I plug the Windows 10 HDD in, the Windows OS starts without any issue.

Here is the log:

[erick@mobile Desktop]$ sudo efibootmgr -v
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,3001,2001,2002,2003
Boot0001* EFI HDD Device (WDC WD10SPZX-21Z10T0)    PciRoot(0x0)/Pci(0x1f,0x2)/Sata(4,0,0)/HD(1,GPT,3a37b01b-4b80-4b1e-97e1-7fb4497f437e,0x1000,0xff001)RC
Boot2001* USB Drive (UEFI)    RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)    RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC

Offline

#4 2019-03-19 12:32:34

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,680
Website

Re: Boot Device Not Found - Hard Disk (3F0)

There are no boot entries for Arch, which bootloader are you using?

Possible solution: https://wiki.archlinux.org/index.php/Un … mware_menu

No need to use a UEFI shell though, just copy your .efi loader to /EFI/Microsoft/Boot/bootmgfw.efi on the EFI system partition.

Offline

#5 2019-03-19 13:15:57

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: Boot Device Not Found - Hard Disk (3F0)

Head_on_a_Stick wrote:

There are no boot entries for Arch, which bootloader are you using?

Possible solution: https://wiki.archlinux.org/index.php/Un … mware_menu

No need to use a UEFI shell though, just copy your .efi loader to /EFI/Microsoft/Boot/bootmgfw.efi on the EFI system partition.

Thanks for the reply.
I'm using Grub..
Is there any chance that the boot entries not been there, could it be a hardware issue or even a bios issue?

As I'm not using a Windows 10 HDD how could I copy the bootx64.efi file from the Arch Linux installation medium (FSO:) to the Microsoft directory your ESP partition on your hard drive (FS1:)?

This is what I last did, in my last fresh installation

#pacman -S grub efibootmgr

#mkdir /boot/efi

#mount /dev/sda1 /boot/efi/

#grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi

#grub-mkconfig -o /boot/grub/grub.cfg

#mkdir /boot/efi/EFI/BOOT

#cp /boot/efi/EFI/GRUB/grubx64.efi /boot/efi/EFI/BOOT/BOOTX64.EFI

#nano /boot/efi/startup.nsh
>           bcf boot add 1 fs0:\EFI\GRUB\grubx64.efi
>           exit

Last edited by erickwill (2019-03-19 13:25:49)

Offline

#6 2019-03-19 13:21:48

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,680
Website

Re: Boot Device Not Found - Hard Disk (3F0)

Unfortunately, some UEFI firmware ("BIOS") implementations are so broken that they will only load bootmgfw.efi despite this not being listed in the official UEFI specification at all.

Offline

#7 2019-03-19 13:26:29

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: Boot Device Not Found - Hard Disk (3F0)

Head_on_a_Stick wrote:

Unfortunately, some UEFI firmware ("BIOS") implementations are so broken that they will only load bootmgfw.efi despite this not being listed in the official UEFI specification at all.

Really bad.. but is there any workaround?

Offline

#8 2019-03-19 14:02:45

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: Boot Device Not Found - Hard Disk (3F0)

Head_on_a_Stick wrote:

There are no boot entries for Arch, which bootloader are you using?

Possible solution: https://wiki.archlinux.org/index.php/Un … mware_menu

No need to use a UEFI shell though, just copy your .efi loader to /EFI/Microsoft/Boot/bootmgfw.efi on the EFI system partition.


In case I don't have a Microsoft folder inside EFI, should I create one and add the .efi?

Offline

#9 2019-03-19 15:05:45

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,680
Website

Re: Boot Device Not Found - Hard Disk (3F0)

Yes.

Offline

#10 2019-03-19 22:17:28

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: Boot Device Not Found - Hard Disk (3F0)

Head_on_a_Stick wrote:

Yes.

Unless I did something wrong it did not work.. thanks anyway.. please, let me know if you have any other suggestion..

Last edited by erickwill (2019-03-19 22:22:26)

Offline

#11 2019-03-19 22:23:38

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,680
Website

Re: Boot Device Not Found - Hard Disk (3F0)

erickwill wrote:

Unless I did something wrong

If you share your exact method and post the full list of commands that you used then perhaps we can spot if you made a mistake somewhere.

See also https://bbs.archlinux.org/viewtopic.php?id=57855

Offline

#12 2019-03-20 17:19:30

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: Boot Device Not Found - Hard Disk (3F0)

Head_on_a_Stick wrote:
erickwill wrote:

Unless I did something wrong

If you share your exact method and post the full list of commands that you used then perhaps we can spot if you made a mistake somewhere.

See also https://bbs.archlinux.org/viewtopic.php?id=57855


Sorry, I was quite busy for this reason I didn't give more details.

First my efi map:

sudo efibootmgr -v
[sudo] password for erick: 
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,3000,2001,2002,2003
Boot0000* EFI HDD Device (WDC WD10SPZX-21Z10T0)	PciRoot(0x0)/Pci(0x1f,0x2)/Sata(4,0,0)/HD(1,GPT,3a37b01b-4b80-4b1e-97e1-7fb4497f437e,0x1000,0xff001)RC
Boot2001* USB Drive (UEFI)	RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)	RC
Boot3000* Internal Hard Disk or Solid State Disk	RC
Boot3001* Internal Hard Disk or Solid State Disk	RC
Boot3002* Internal Hard Disk or Solid State Disk	RC
Boot3003* Internal Hard Disk or Solid State Disk	RC
Boot3004* Internal Hard Disk or Solid State Disk	RC

Here is what I did..

$ sudo mount /dev/sda1 /boot/efi/

Inside Grub partition:
$ sudo cp grubx64.efi /boot/efi/EFI/Microsoft/Boot/

Inside Boot partition:
$ sudo cp BOOTX64.EFI /boot/efi/EFI/Microsoft/Boot/

$sudo grub-mkconfig -o /boot/grub/grub.cfg

Please, lemme know if you need any specific log.
I really appreciate your help.

Offline

#13 2019-03-20 17:33:13

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,680
Website

Re: Boot Device Not Found - Hard Disk (3F0)

You have copied the .efi loaders to the correct directory (presuming that /dev/sda1 is indeed your EFI system partition) but you haven't changed the name to bootmgfw.efi.

To avoid further confusion:

sudo -i
mount /dev/sda1 /mnt
cp /mnt/EFI/Microsoft/Boot/{grubx64,bootmgfw}.efi
umount /mnt
exit

Offline

#14 2019-03-20 18:33:40

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: Boot Device Not Found - Hard Disk (3F0)

Head_on_a_Stick wrote:

You have copied the .efi loaders to the correct directory (presuming that /dev/sda1 is indeed your EFI system partition) but you haven't changed the name to bootmgfw.efi.

To avoid further confusion:

sudo -i
mount /dev/sda1 /mnt
cp /mnt/EFI/Microsoft/Boot/{grubx64,bootmgfw}.efi
umount /mnt
exit

Got it. Lemme rename it and test. Thanks

Offline

#15 2019-03-21 09:47:27

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: Boot Device Not Found - Hard Disk (3F0)

Head_on_a_Stick wrote:

You have copied the .efi loaders to the correct directory (presuming that /dev/sda1 is indeed your EFI system partition) but you haven't changed the name to bootmgfw.efi.

To avoid further confusion:

sudo -i
mount /dev/sda1 /mnt
cp /mnt/EFI/Microsoft/Boot/{grubx64,bootmgfw}.efi
umount /mnt
exit

Yep, I did test and unfortunately it did not work..

Here is what I did from the beginning:

#pacman -S grub efibootmgr

#mkdir /boot/efi

#mount /dev/sda1 /boot/efi/

#grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi

#grub-mkconfig -o /boot/grub/grub.cfg

#mkdir /boot/efi/EFI/BOOT

#cp /boot/efi/EFI/GRUB/grubx64.efi /boot/efi/EFI/BOOT/BOOTX64.EFI

#nano /boot/efi/startup.nsh
>           bcf boot add 1 fs0:\EFI\GRUB\grubx64.efi
>           exit

After that, using your advice:

$ sudo mount /dev/sda1 /boot/efi/

Inside Grub partition:
$ sudo cp grubx64.efi /boot/efi/EFI/Microsoft/Boot/

Inside Boot partition:
$ sudo cp BOOTX64.EFI /boot/efi/EFI/Microsoft/Boot/

$ sudo grub-mkconfig -o /boot/grub/grub.cfg

$ cp grubx64.efi bootmgfw.efi

Here is my efibootmgr -v

BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,3001,2001,2002,2003
Boot0001* Windows Boot Manager	HD(1,GPT,3a37b01b-4b80-4b1e-97e1-7fb4497f437e,0x1000,0xff001)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC
Boot2001* USB Drive (UEFI)	RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)	RC
Boot3000* Internal Hard Disk or Solid State Disk	RC
Boot3001* Internal Hard Disk or Solid State Disk	RC
Boot3002* Internal Hard Disk or Solid State Disk	RC
Boot3003* Internal Hard Disk or Solid State Disk	RC
Boot3004* Internal Hard Disk or Solid State Disk	RC

Please, let me know if any specific log is necessary.

Thanks.

Last edited by erickwill (2019-03-21 09:58:35)

Offline

#16 2019-03-21 10:07:16

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,680
Website

Re: Boot Device Not Found - Hard Disk (3F0)

erickwill wrote:

using your advice

Are you trying to wind me up?

Please read my posts again.

Offline

#17 2019-03-21 14:02:32

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: Boot Device Not Found - Hard Disk (3F0)

Head_on_a_Stick wrote:

You have copied the .efi loaders to the correct directory (presuming that /dev/sda1 is indeed your EFI system partition) but you haven't changed the name to bootmgfw.efi.

To avoid further confusion:

sudo -i
mount /dev/sda1 /mnt
cp /mnt/EFI/Microsoft/Boot/{grubx64,bootmgfw}.efi
umount /mnt
exit

in

cp /mnt/EFI/Microsoft/Boot/{grubx64,bootmgfw}.efi

Should I copy it to?

Offline

#18 2019-03-21 14:03:36

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: Boot Device Not Found - Hard Disk (3F0)

Head_on_a_Stick wrote:
erickwill wrote:

using your advice

Are you trying to wind me up?

Please read my posts again.

Please, don't get me wrong. I'm not trying nothing against you. Actually, I'm thankful for your help.

Offline

#19 2019-03-21 14:12:25

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,680
Website

Re: Boot Device Not Found - Hard Disk (3F0)

erickwill wrote:

in

cp /mnt/EFI/Microsoft/Boot/{grubx64,bootmgfw}.efi

Should I copy it to?

All that command does is copy grubx64.efi to bootmgfw.efi

You need to have a file at EFI/Microsoft/Boot/bootmgfw.efi on the EFI system partition.

If you have your EFI system partition mounted under /boot/efi then you need to have /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

Check for your EFI system partition by running this command as root:

parted --list

Then see which partition has the "boot,esp" flags.

Offline

#20 2019-03-21 14:54:30

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: Boot Device Not Found - Hard Disk (3F0)

Head_on_a_Stick wrote:
erickwill wrote:

in

cp /mnt/EFI/Microsoft/Boot/{grubx64,bootmgfw}.efi

Should I copy it to?

All that command does is copy grubx64.efi to bootmgfw.efi

You need to have a file at EFI/Microsoft/Boot/bootmgfw.efi on the EFI system partition.

If you have your EFI system partition mounted under /boot/efi then you need to have /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

Check for your EFI system partition by running this command as root:

parted --list

Then see which partition has the "boot,esp" flags.

parted --list returns:

Model: ATA WDC WD10SPZX-21Z (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name              Flags
 1      2097kB  537MB   535MB   fat32        EFI System        boot, esp
 2      538MB   1000GB  1000GB  btrfs        Linux filesystem

When I fresh installed, I did:

# mkdir -p /mnt/boot/efi
# mount /dev/sda1 /mnt/boot/efi

However, seems that  /dev/sda1 is mounted on /mnt and not /mnt/boot/efi
For this reason, /boot/grub/efi is empty

Such a mess I did.. how can I fix it?

Offline

#21 2019-03-21 15:01:25

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: Boot Device Not Found - Hard Disk (3F0)

Head_on_a_Stick wrote:
erickwill wrote:

in

cp /mnt/EFI/Microsoft/Boot/{grubx64,bootmgfw}.efi

Should I copy it to?

All that command does is copy grubx64.efi to bootmgfw.efi

You need to have a file at EFI/Microsoft/Boot/bootmgfw.efi on the EFI system partition.

If you have your EFI system partition mounted under /boot/efi then you need to have /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

Check for your EFI system partition by running this command as root:

parted --list

Then see which partition has the "boot,esp" flags.

Could you please point me out the correct sequence to proceed at fresh installation? So I gonna avoid this mess I did..

Here, below, is what I'm currently doing. Any observation is really appreciated.

#pacman -S grub efibootmgr

#mkdir /boot/efi
#mount /dev/sda1 /boot/efi/

#grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi

#grub-mkconfig -o /boot/grub/grub.cfg

Additional steps to get Arch Linux booting..

#mkdir /boot/efi/EFI/BOOT

#cp /boot/efi/EFI/GRUB/grubx64.efi /boot/efi/EFI/BOOT/BOOTX64.EFI

#nano /boot/efi/startup.nsh
>           bcf boot add 1 fs0:\EFI\GRUB\grubx64.efi
>           exit

#exit
#umount -R /mnt

Last edited by erickwill (2019-03-21 15:02:12)

Offline

#22 2019-03-21 17:43:26

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,680
Website

Re: Boot Device Not Found - Hard Disk (3F0)

erickwill wrote:
#nano /boot/efi/startup.nsh
>           bcf boot add 1 fs0:\EFI\GRUB\grubx64.efi
>           exit

The correct UEFI shell command is bcfg rather than bcf.

And anyway you shouldn't need a startup.nsh script if you have (/dev/sda1)/EFI/BOOT/BOOTX64.EFI, that is supposed to boot automatically even without any working boot entries.

If that doesn't boot automatically and neither bcfg or efibootmgr or grub-install can create a working NVRAM boot entry then you need to copy grubx64.efi to (/dev/sda1)/EFI/Microsoft/Boot/bootmgfw.efi

erickwill wrote:

Any observation is really appreciated.

Adding --removable to the end of the grub-install command would have copied (dev/sda1)/EFI/GRUB/grubx64.efi to (/dev/sda1)/EFI/BOOT/BOOTX64.EFI automatically.

So I would use this sequence after booting up the live ISO image:

# mount /dev/sda2 /mnt
# mkdir -p /mnt/boot/efi
# mount /dev/sda1 /mnt/boot/efi
# pacman -Sy grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/mnt/boot/efi --boot-directory=/mnt/boot --removable
# mkdir -p /mnt/boot/efi/EFI/Microsoft/Boot
# cp /mnt/boot/efi/EFI/BOOT/BOOTX64.EFI /mnt/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
# reboot

I am presuming that you have the main system installed directly under /dev/sda2 and you are not using any subvolumes.

If you have installed the main system into a subvolume then use this as the first command instead:

# mount -o subvol=$volume_name /dev/sda2 /mnt

And replace $volume_name with the actual name of the subvolume.

Offline

#23 2019-03-21 23:13:12

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: Boot Device Not Found - Hard Disk (3F0)

@Head_on_a_Stick
Thanks for the help! Really appreciated.
I tried step by step in every single detail and it didn't work.
Unfortunately, I suspect that, maybe, there is a hardware problem under the hood.
After I complete all the steps, if I reboot the laptop, it does recognizes the Grub and I can perfectly boot. However, if I turn it off and wait for more than 5 seconds, until I turn it on again, it does not recognizes Grub anymore.
I already replaced the CMOS battery, I don't have sure if it's Battery/CMOS related since date inside the bios is correct.
The weird part is that if I connect to the Arch Live USB, for the first boot it does not recognizes the HDD, using gdisk /dev/sda leads me to the Arch Live USB itself, but if I unplug the cord and reboot it does recognizes not only the HDD but starts to see the GRUB as well.
I'm running out of option.. HP is really terrible regarding Bios systems..

Last edited by erickwill (2019-03-21 23:43:35)

Offline

Board footer

Powered by FluxBB