Auto Dual Boot on HP Zbook 15 G2 and unrecognized NVMe M.2 SSD

Yup. I remember those days, especially in MS-DOS days. Needed a 5.25" or 3.25" floppy to boot up to load an ATAPI driver for the CD-ROM, and sometimes for SCSI too. Otherwise, the system won't be able to access CD-ROM or SCSI interface before anything. There were quite a few things requiring this back then like Iomega Zip drives. It was back before pretty GUI Win95 days where they started driver initialization automation behind the scenes with the splash screen.

I miss MS-DOS, Windows 3.0 & 3.11 so much now. Windows 2.0 * 2.1x was, meh. I loaded Win1.0 in the past just for fun to see how it looked like. Everything was so much easier back then. LOL.

2 Likes

I sometimes wish I forced myself to continue to learn programming for real. But, then I think again. Nah! :rofl:

Only actual computer lessons I had was with QBASIC in High School for a semester. No lessons before or after.

@337harvey You're a genius! :hamburger:

1 Like

You're too kind.... I'm glad we could help you. Please enjoy the OS and come back often for tips, tutorials and if you can, help others in their Linux journey.

1 Like

I remember those fun days, especially before the internet. But, having 9600 baud dial-up isp service often didn't really help. I remember even when I had 56k modem, before broadband, downloading what was it a few megabytes toook ages. When the connection was disconnected midway or someone need to use the telephone, it was argghhh. LOL.

I remember a computer teacher was downloading something for two days on a 14k dial-up modem back in the early 1990s, then lost the connection midway. He wanted to kill someone. LOL.

I sound like gramps now. Reminiscing about the good ole' days. LOL

6 posts were split to a new topic: WD drive not recognized on boot

I miss those days too! When I had a 56K dialup modem, I thought I was hot banana's back then. If you recall, we had like 16k and I think it was 22k that predated the 56k modems, and they were even slower. They were huge ISA cards too, remember the ISA slots? They weren't much good except for computer fax use.

56K is when most people really started getting into the internet. But even on a 56k modem, it would take like an entire day to download a 100mb file, and thats if, a big giant if, the telephone ISP didn't dissconnect you cause they were throwing a temper tantrum over your extended use.

People in modern day with cable internet would find that hard to believe that an ISP would do that. But telephone companies were nutorious for being the biggest deeeks of the universe, and they got away with it, government did nothing to curb their power.

It wasn't until people got a second phone line, did things improve within the home, if someone wanted to use the phone while you were on the net the same time. I was such a family that got a second phone line, costed us about 10 dollars more per month if I am not mistaken.

I never did AOL service cause they were like 20-dollars a month, way beyond my ability to afford at the time for slow as a slug and a snail on a sidewalk internet service. I went with Juno cause I could get it for 10 dollars per month, which made way more sense for a kid on a budget who mows the neighborhood lawns for their internet money lol.

But yes, those were the days, the ATAPI drivers, it was always something wasn't it? FYI, I still own my 250MB Iomega Zip drive, its a really cool looking thing, still to this day I think its look holds up, and they were made well too. Trouble is, it uses the parallel port, which computers don't use anymore.

I would need some kind of adapter to adapt it to a USB port. But using the drive in modern day would be more then a nostalgia trip more then anything else. The reason I say that is, why would you want to mess with a 250MB disk drive, when you have access to a 128GB or more SSD USB 3.0+ drive?

2 Likes

This looks viable, I'll try this tonight, thank you - I'll report back and let you know.

Yeh we were the same with internet. We started with 9800, then 14.4k then 28.8k, then later 56k. It was amazing with each jump. We started with AOL in their beginning when they were cheap. Ultimately, jumped around from Juno to AT&T Worldnet, to others. I also used those free ones with advertisments bars for a while. Ultimately, tried to get FreeDSL. They actually sent me the modem, but never had anyone to come install. :rofl:

I miss getting those floppies and then cdroms every few days. Should have kept them. They're worth money now.:joy:

Those ISA cards where so thick and massive. It was hard to break them. Had to blow dust off them too.

Remember we used to have to install EDO RAM in parallel? Don't forget 100MB HDD were a luxury and massive too. The first real video card I bought was a Savage S4 with 8MB RAM :rofl:

One of my brothers bought a Evergreen 586 133Mhz CPU upgrade because it was cheap. Lasted him a year or so too.

I've been doing some testing and it appears the startup.nsh script is necessary due to my laptop's setup.

I changed the GRUB bootloader timeout setting to -1 which as I understand is suppose to stop it until a selection is made, my laptop stopped and never moved past the screen that executes the startup script. I timed it and then pressed a few keys and it seems to react and move to loading up Linux. I changed the timeout to 45 and I noticed that it took longer to boot up, still no menu. When I first set up my laptop I noticed if I didn't set a time delay on the UEFI selection for executing the startup script the script would execute then the Windows logo would appear in the middle of the text and start loading before the scripts text disappeared. I believe it might be something similar with the GRUB menu, I've read that you can change and make a background to add some style to the boot up menu. Maybe I need a picture to get the screen to change off the script text?

The entry is there, I can't see the menu to make a selection however, see below.


1 Like

Awwww...

Can anyone advise on what I'm missing to make GRUB appear at boot-up to show me an operating system menu choice screen?

Disk Layout:
sudo fdisk -l
Disk /dev/nvme0n1: 476.96 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: WDC PC SN520 SDAPMUW-512G               
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: A16A36D5-BDC5-4E5C-B93E-9A15325B81F2

Device             Start        End   Sectors   Size Type
/dev/nvme0n1p1      2048     718847    716800   350M EFI System
/dev/nvme0n1p2    718848     751615     32768    16M Microsoft reserved
/dev/nvme0n1p3    751616  999292927 998541312 476.1G Microsoft basic data
/dev/nvme0n1p4 999292928 1000214527    921600   450M Windows recovery environment


Disk /dev/sda: 223.58 GiB, 240057409536 bytes, 468862128 sectors
Disk model: INTEL SSDSC2CW24
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: 038C8C0C-F6FF-4991-BF98-485679C53EC8

Device       Start       End   Sectors   Size Type
/dev/sda1     2048   1050623   1048576   512M EFI System
/dev/sda2  1050624 468860927 467810304 223.1G Linux filesystem

sudo parted --list
Model: ATA INTEL SSDSC2CW24 (scsi)
Disk /dev/sda: 240GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name                  Flags
 1      1049kB  538MB  537MB  fat32        EFI system partition  boot, esp
 2      538MB   240GB  240GB  ext4


Model: WDC PC SN520 SDAPMUW-512G (nvme)
Disk /dev/nvme0n1: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name                          Flags
 1      1049kB  368MB  367MB   fat32        EFI system partition          boot, esp
 2      368MB   385MB  16.8MB               Microsoft reserved partition  msftres
 3      385MB   512GB  511GB   ntfs         Basic data partition          msftdata
 4      512GB   512GB  472MB   ntfs         Basic data partition          diag


GRUB Current:
grep menuentry /boot/grub/grub.cfg
if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'Linux Mint 20 Cinnamon' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-e8309828-bd55-4a54-85ec-b3819f01bdd2' {
submenu 'Advanced options for Linux Mint 20 Cinnamon' $menuentry_id_option 'gnulinux-advanced-e8309828-bd55-4a54-85ec-b3819f01bdd2' {
	menuentry 'Linux Mint 20 Cinnamon, with Linux 5.4.0-84-generic' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-84-generic-advanced-e8309828-bd55-4a54-85ec-b3819f01bdd2' {
	menuentry 'Linux Mint 20 Cinnamon, with Linux 5.4.0-84-generic (recovery mode)' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-84-generic-recovery-e8309828-bd55-4a54-85ec-b3819f01bdd2' {
	menuentry 'Linux Mint 20 Cinnamon, with Linux 5.4.0-26-generic' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-26-generic-advanced-e8309828-bd55-4a54-85ec-b3819f01bdd2' {
	menuentry 'Linux Mint 20 Cinnamon, with Linux 5.4.0-26-generic (recovery mode)' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-26-generic-recovery-e8309828-bd55-4a54-85ec-b3819f01bdd2' {
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-22A6-391C' {
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
d-hex@dhex-HP-Zbook-15-G2:~$ cat /boot/grub/grub.cfg | grep prober
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-22A6-391C' {
### END /etc/grub.d/30_os-prober ###
d-hex@dhex-HP-Zbook-15-G2:~$ cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE="menu"
GRUB_TIMEOUT=45
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="splash"
GRUB_CMDLINE_LINUX="nvme_core.default_ps_max_latency_us=0"

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"


1 Like

@337harvey @Aravisian @StarTreker
Looks like HP is making it harder than usual to dual-boot Windows with something else.

Alternative is to clone your Windows partitions and recovery and then turn it into a VM to run within GNU/Linux using free Oracle VirtualBox or other FOSS solutions. I'm thinking of doing it eventually.

One reason is because I'm unable to get 2nd Extended Desktop on Android to work. VM Windows on my GNU/Linux should resolve that. I can also free up the Windows partition to reallocation to my Zorin OS 16.

But, think any of you have free time to help him out some more? He's been going at it for weeks and HP isn't giving up on making him go bonkers trying to solve this problem. Thanks!

I never done a succesful dual boot situation, so I got no experience in that area. I only have one thing to give you to try that may or may not work.

sudo update-grub

I guess I've been lucky with the systems I built or bought. I've gotten dual boot working relatively easy whenever I tried.

1 Like

I recommend changing your grub timeout to under 20 seconds. Ten seconds would be enough, really. At 45 seconds, you are giving your computer enough time to come up with ideas of its own.

Are you using EFI with GPT or just EFI?
Is Linux Mint20 still installed on the Drive? IS Zorin Installed? Are either or both installed on a partition on the same dirve that contains the EFI partition?

Is the EFI partition at the Beginning of the disk (It must be in order to work properly).
If it is not, it must be moved.

Lol, well the computer is stubborn so yes it's got time to change it's mind during the 45 seconds.

I'll try 20.

It's EFI with GPT on both hard drives. Linux Mint 20 is installed, since I can't get the GRUB Menu to show up to allow me to select operating systems I'm not at the point of introducing a third operating system into the mix to make things more complicated.

Minit (GRUB) is installed to the (first partition) EFI Partition on the NVMe drive which then loads the Mint system located on the second partition of the 2.5" SSD drive.

sudo fdisk -l
Disk /dev/nvme0n1: 476.96 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: WDC PC SN520 SDAPMUW-512G               
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: A16A36D5-BDC5-4E5C-B93E-9A15325B81F2

Device             Start        End   Sectors   Size Type
/dev/nvme0n1p1      2048     718847    716800   350M EFI System
/dev/nvme0n1p2    718848     751615     32768    16M Microsoft reserved
/dev/nvme0n1p3    751616  999292927 998541312 476.1G Microsoft basic data
/dev/nvme0n1p4 999292928 1000214527    921600   450M Windows recovery environment


Disk /dev/sda: 223.58 GiB, 240057409536 bytes, 468862128 sectors
Disk model: INTEL SSDSC2CW24
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: 038C8C0C-F6FF-4991-BF98-485679C53EC8

Device       Start       End   Sectors   Size Type
/dev/sda1     2048   1050623   1048576   512M EFI System
/dev/sda2  1050624 468860927 467810304 223.1G Linux filesystem
1 Like

Found a relatively underutilized USB 3.0 SATA 2.5" External HDD to test. On physical Win10 for conversion I used vCenter Converter to convert my entire internal m.2 SATA SSD to the external drive. Then just added the *.vmx file from the external HDD to Oracle Virtual Box on Zorin and clicked the proper settings for my host system in the GUI.

I got Win10 OEM of my Dell Laptop to load as a VM within Zorin OS 16. Since, the external drive is slow, the response is slow. I then deleted the dual boot Zorin Partition in the VM, and then shrunk the entire virtual SSD.

But, it shows, it's possible. Very easy to do. Once I get a bigger m.2 SATA SSD, I could move the *.vmx and *.vmdk files on the the new internal drive for better responsiveness.

Entire process took less than 1.5 hours.

Conversion Summary:


Converstion Start:

Conversion Finished:

VM Win10 Loaded:

VM Win10 Logged In:

On a continued try to test, I converted my Win10 P2V using disk2vhd. Then converted the *.vhd file to *.vdi using Windows version of VBoxManage. *.vhdx files will not convert.

On Windows, but, GNU/Linux is the same:

c:> cd "C:\Program Files\Oracle\VirtualBox"
c:> VBoxManage clonehd --format VDI mydisk.vhd mydisk.vdi

I then booted the VM Guest into a Win10 ISO and used diskpart in command prompt to quick format the EFI partition to fat32.

D:/diskpart
sel vol # "# is volume of EFI"
format quick fs=fat32 label=EFI

Immediately:

bcdboot Drive:/Windows
"Drive is volume of Windows"

This fixes and eliminate dual boot, since the 2nd OS would be missing or deleted. VM Guest will boot directly into Windows.

I like *.vdi files form since it's a single file, and compactable or resizable VHDD as needed. VCenter Converter made a few dozen *.vmdk files for the single new virtual drive instead.

This time, it took less than 45 minutes.

I also setup to boot the other OS partition as a VM Guest.

My favorite part is the cat :cat2:

1 Like

Me too. But, you don't like my birdies? They were one of three batches by a single pair of parents one spring a few years ago. They lived on the wall outside my window. 5+5+4 = 14 total babies from them that year. It's mostly the same numbers every year when the swallows return at the beginning of Spring, then leave when Summer arrives.