Any and all help would be so greatly appreciated. I’ve been battling with my laptop to be able to dual-boot Ubuntu Cinnamon and Windows 10 for about four days now. I’ve probably gone down five or six different rabbit-holes of troubleshooting, GRUB command-line fun, reinstalling and updating the BIOS, trying and failing to deal with VMX and locked NVram. As of now, my system boot-loops and fails to run Windows, but paradoxically I am able to get Ubuntu running, which is what I am using now.

I’ll try to provide as much relevant information here as I can:

  • Device: HP ZBook 17, gen 6
  • Primary OS: Windows 10 Home
  • Linux distro: Ubuntu Cinnamon 23.10
  • Ubuntu location: /dev/sda3
  • grub-install --version = 2.12~rc1-10ubuntu4
  • boot-repair Boot-info summary: https://paste.ubuntu.com/p/rxZ3D5GtpP/
  • I’m more than happy to provide more information as it’s requested.

As of now, I am unable to run Windows through the BIOS. If I run via the dedicated SSD as I normally do, it boot-loops, and if I try to go through any other drives it just tells me I need to install an OS. I am currently able to run Ubuntu, but only by going through the following process:

  1. Startup menu
  2. Boot configuration
  3. Boot from EFI > Ubuntu > shimx64.efi

At this point, I am happy with two outcomes to this scenario:

  1. I am able to run my laptop with Windows 10 as the primary OS, with the ability to dual-boot to Ubuntu Cinnamon 23.10.
  2. Assuming option 1 is impossible/requires a Herculean amount of work to pull off from this state, I am willing to scrub Windows 10 from my laptop and move forward with Cinnamon as my daily driver, though I am rather inexperienced in it. I can learn to move forward as I need to and run a VM or WINE for any Windows-specific processes I still need to do. But I would rather keep this option as my dead man’s switch.
  • Kalcifer
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    11 months ago

    I don’t fully understand how you are going about your installation. Are you attempting to install Windows 10, and Ubuntu onto different partitions on one drive, or each on a separate drive? Are you wanting to use grub to boot the OS of choice, or to choose the boot device from the BIOS boot device menu? In what order did you initially install the OS’s (Windows 10 first, then Ubuntu, or vice-versa)?

    • ClassyOP
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      Dedicated SSD (C:) has Windows on it.

      Internal HDD has F: (storage) and a partition for Ubuntu, which is the A: drive in Windows and /dev/sda3 in Linux.

      I was originally hoping to do it this way and be able to dual boot them, but the more I think about it the more I feel that just going straight to Linux and biting the bullet would be better in the long run, and I can flash Windows if I really need it.

      I was trying to get GRUB to act as boot loader but for the longest time I couldn’t even get GRUB running, even with at least 5 different troubleshooting ideas. Then once it was running, I still couldn’t get it to mount the EFI. Then I started getting the boot loop issues and Windows OS stopped working, but I figured out how to get Linux desktop running via shimx64.efi in the BIOS boot loader.

      This computer is natively a Win 10 machine, and I was trying to add Linux to it.

      • Kalcifer
        link
        fedilink
        arrow-up
        1
        ·
        11 months ago

        I encourage you to read through this Archwiki page on dualbooting – it has a lot of very helpful information on the topic.

        I was originally hoping to do it this way and be able to dual boot them, but the more I think about it the more I feel that just going straight to Linux and biting the bullet would be better in the long run, and I can flash Windows if I really need it.

        It is certainly possible to dual boot (in my experience, with the occasional headache that you may, or may not be willing to deal with) Windows and Linux, but yes, the most reliable installation would be one, or the other.

        I was trying to get GRUB to act as boot loader but for the longest time I couldn’t even get GRUB running, even with at least 5 different troubleshooting ideas

        Hrm, I’m not sure how you are going about your installation procedure. You mentioned that you are installing Ubuntu, but Ubuntu should come with Grub pre packaged. Installing Ubuntu really only requires clicking a couple buttons in the install wizard.

        but I figured out how to get Linux desktop running via shimx64.efi in the BIOS boot loader.

        Im not really familiar with shim, but, from what I understand, it’s the loader for when you have secure boot enabled, but you should have that disabled.

        • ClassyOP
          link
          fedilink
          arrow-up
          1
          ·
          11 months ago

          Hrm, I’m not sure how you are going about your installation procedure. You mentioned that you are installing Ubuntu, but Ubuntu should come with Grub pre packaged. Installing Ubuntu really only requires clicking a couple buttons in the install wizard.

          I had Linux installed on a tertiary partition of a secondary drive, my F: drive. I neglected to store it within the dedicated SSD, C:, and I believe that GRUB was just not being picked up because instead of being sda or something close to it, it was instead sda6.

          Further this with the fact that GRUB seemed to not have elevated permissions and when I eventually got into its command line, it was not able to run Linux for reasons I’m unaware. Windows BIOS menu never had Linux or any corollary term available as a boot order item, and only through digging through the Boot from EFI item and submenus was I able to find anything to actually boot Ubuntu without live CD at all. grubx.efi (or whatever it was called) black screened.

          Im not really familiar with shim, but, from what I understand, it’s the loader for when you have secure boot enabled, but you should have that disabled.

          Scout’s honor, I really did disable Secure Boot. I did so through Shell. I did so in the Windows directory. I even triple checked that it was disabled through the BIOS menu. If shimx64.efi is only supposed to work when Secure Boot is disabled, that must be because Windows has just been acting screwy as all get out.

          • Kalcifer
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            10 months ago

            I had Linux installed on a tertiary partition of a secondary drive, my F: drive. I neglected to store it within the dedicated SSD, C:, and I believe that GRUB was just not being picked up because instead of being sda or something close to it, it was instead sda6.

            First of all sda refers to a physical drive, whereas sda6 refers to a partition on that drive. As for the rest of it, I’m not exactly sure what you are talking about – it doesn’t really matter where in your system Linux is installed; the bootloader probes for an OS, and, once found, will update its table with the position of the OS on the drive.

            Further this with the fact that GRUB seemed to not have elevated permissions

            This statement doesn’t really make sense; Grub runs independently of Linux (it even loads before initramfs), so the concept of “execution privelege” doesn’t apply. (source)

            when I eventually got into its command line, it was not able to run Linux for reasons I’m unaware.

            I will point you to this answer, if you wish to boot linux from the Grub command line.

            Windows BIOS

            There’s no such thing (well, as far as I’m aware, anyways – maybe a microsoft surface, or the like, labels it as such 😜). The BIOS is contained within a physical chip on the device’s motherboard.

            Windows BIOS menu never had Linux or any corollary term available as a boot order item

            If you’re talking abou the boot menu, it doesn’t necessarily have to list the linux distro. If you know what drive it is installed on, you select that, then the BIOS finds the bootloader from there. A boot device is just that – a device to boot from, not an OS to boot into.

            I really did disable Secure Boot. I did so through Shell.

            I don’t understand what you mean here. As far as I’m aware, secure boot is only able to be disabled within the BIOS.

            I was unsure if maybe there was some alternative command line trickery that exists to modify it that I am unaware of, but a quick websearch seems to corroborate my pre existing belief.

            Windows has just been acting screwy as all get out.

            This is an unfortunate reality of dual booting with Windows. Windows can do all sorts of trickery on your system (even when the system is powered down!). If I want to boot Windows (I keep it installed on a separate, dedicated, and air-gapped drive), I plug in its drive, and disconnect all other drives related to Linux. This has been the most reliable method that I have found to dual boot Windows. However, this method is still not without possible issue, as Windows can still leave devices in weird states that end up messing with how they are used in Linux.

            • ClassyOP
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              10 months ago

              Thank you for the breakdown. I’ve learned a fair bit about the infrastructure of my computer and Linux since posting this, and I’m now dedicated Ubuntu with only needing to do some very minor work with WINE here and there in the last two weeks or so. Linux has been a blast and learning about everything has been a lot of fun so far.

              My problem turned out to be something with the BIOS. I don’t know if a switch got flipped somewhere along the way or what, but when I reset the BIOS to factory default settings in the boot menu I no longer had issues with boot looping and a CPU I could fry an egg on.

              I do believe that GRUB was initially installed on sda2 and not sda, and Windows was just taking precidence over grubx64.efi upon startup. Now that I’ve scrubbed windows from my PC I no longer have any issues booting up and my PC seems to run just about the same as before, less a few graphical funnies with some larger proprietary software I use.

              Funny enough, I tried to do a clean install of Debian with KDE on my system and I went back to having boot issues, mainly where it would just open to GRUB CL and I couldn’t get it to initialize Debian, when I was certain it was a good install. So I’m just going to stick to Ubuntu for a good while and learn it. Once I feel very confident in filesystem maintenance, command line navigation, snap/flatpak/.deb/whatever, all the major things, I’ll start shopping around for another distro again. Ubuntu has been treating me very nicely though.

              • Kalcifer
                link
                fedilink
                arrow-up
                1
                ·
                10 months ago

                Thank you for the breakdown.

                You are very welcome! 😊

                I’m now dedicated Ubuntu

                A very fair decision! Dual booting can be a huge pain, and, for the average user, it really isn’t all that necessary anymore – Linux has come a very long way!

                My problem turned out to be something with the BIOS. I don’t know if a switch got flipped somewhere along the way or what, but when I reset the BIOS to factory default settings in the boot menu I no longer had issues with boot looping and a CPU I could fry an egg on.

                Interesting. I’m curious what the setting was. But, I’m glad that it worked out for you in the end!

                I do believe that GRUB was initially installed on sda2 and not sda

                I refer back to my previous commentsda2 refers to a partition on the drive named sda. You could have a drive sda, sdb, sdc, etc. If one was given some partition sdc3 that means it is partition 3 on drive sdc. Everything gets installed into a partition on a drive.

                Windows was just taking precidence over grubx64.efi upon startup

                This can certainly happen – especially if Windows is installed after Linux. I woud refer you to this answer to fix it.

                less a few graphical funnies with some larger proprietary software I use.

                Yeah, I’m not too surprised about that (depending on the speicfic graphical issues that you are referring to, mind you) – especially if you are using Wine. If you don’t mind me asking, what software are you wanting/needing to use?

                Funny enough, I tried to do a clean install of Debian with KDE on my system and I went back to having boot issues, mainly where it would just open to GRUB CL and I couldn’t get it to initialize Debian, when I was certain it was a good install.

                Hm, this is strange. I would err on the side of a layer 8 error, but there could certainly be some other fuckery afoot.

                So I’m just going to stick to Ubuntu for a good while and learn it.

                There’s no problem with that! Ubuntu was the first distro that I used, as well, when I first got into Linux. Granted, I didn’t stick with Ubuntu for long, cause I got mildly annoyed with how it worked.

                Once I feel very confident in filesystem maintenance, command line navigation, snap/flatpak/.deb/whatever, all the major things, I’ll start shopping around for another distro again.

                Sounds like a solid plan! When you do decide to move on from Ubuntu, I’d recommend Arch LInux 😜

                • ClassyOP
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  10 months ago

                  I refer back to my previous comment

                  Yes, I am aware of how the partition naming structure works, to a degree. I am going off the fact that when I installed Ubuntu, it was installed on a partition (sda2) rather than a primary drive (sda). I’ve read that when GRUB is installed, if it gets installed to /dev/sda2 rather than /dev/sda it can cause issues with dual booting as the BIOS will read in a sequential order, and it may miss a partition if it’s “far enough down the list”. As another example, you may be in for some trouble if grubx.efi is installed on /dev/sda8 or something.

                  Everything gets installed into a partition on a drive.

                  I guess I must have gotten my preconceptions wrong, or perhaps I misread something. From my impression, certain things can be installed on the primary drive such as boot loaders, but I could be wrong.

                  If you don’t mind me asking, what software are you wanting/needing to use?

                  Finale 2012c is the main software I needed. And by funnies I mostly just mean that it’s slow to update graphics, but the program works entirely as intended. MIDI drivers work, sound libraries (Garritan and ARIA Player) function, print to PDF is fine, I’m actually incredibly impressed! I’m using WINE 8.0.1.

                  I also wouldn’t mind trying to get Cakewalk running, as my workflow is definitely more attuned to that software, but maybe trying to get all the proprietary drivers (e.g. TASCAM’s interface drivers) to work with Linux may be more headache than its worth.

                  Arch

                  I’ve heard it can be pretty challenging to get into Arch, is this true? I don’t know if I’ll ever be a “script kiddie” as it were. I plan on getting good at using bash and learning the other ones like ssh, but I don’t know how much I like the idea of having to hand-craft my OS from bare metal.

                  • Kalcifer
                    link
                    fedilink
                    arrow-up
                    1
                    ·
                    10 months ago

                    when I installed Ubuntu, it was installed on a partition (sda2) rather than a primary drive (sda)

                    The exact meaning of the language in use is somewhat context dependent. It is technically possible to use a block device (e.g. /dev/sda) [source] as a filesystem, but it is generally discouraged – afaik, this is generally because of compatibility reasons. As to the meaning of a statement that looks something like “Install Ubuntu to /dev/sda” this could be interpereted as essentially just rewriting the existing partition table that exists on that drive with a new one, where, for example, partition 1 (e.g. /dev/sda1) is for the boot partition, and partition 2 (e.g. /dev/sda2) is where Ubuntu lives. In that example, technically Ubuntu is only resides in /dev/sda2, but, for the whole installation process, the user can interpret it as essentially installing it all to /dev/sda.

                    I’ve read that when GRUB is installed, if it gets installed to /dev/sda2 rather than /dev/sda it can cause issues with dual booting as the BIOS will read in a sequential order, and it may miss a partition if it’s “far enough down the list”

                    It’s worth understanding the boot process of a system (this is more taylored to an average Linux system, but can be generally applied, if one is careful):

                    1. The machine powers on
                    2. The BIOS chip on the motherboard comes to life, it gets copied into RAM, and the CPU starts executing it.
                    3. It finds the first device in the BIOS boot list
                    4. It looks at the first sector (512 bytes) of that drive (this generally only applies if the drive uses MBR, and can be a little bit different with GPT, but the general process is pretty much the same, afaik), which contain the location of the bootloader on that drive, and copies it to RAM at address 0x7C00
                    5. The bootloader (e.g. Grub) springs to life and it takes over the boot process from the BIOS
                    6. In the case of your average linux installation, Grub will then initialize something called the “initramfs” which is sort of like an extremely small Linux OS that gets loaded into RAM
                    7. Initramfs essentially bootstraps the actual Linux distro into booting – this is required as booting the desired Linux distro may depend on things that run on Linux which can’t exist before Linux is loaded (e.g. LVM’s, LUKS encryption, etc.).
                    8. Now that the OS is loaded into ram, it boots, and the process is complete.

                    So, back to your statement, the actual program of Grub could reside in /dev/sda2, but the “bootloader bootsrapping” program, which resides in the first 512 bytes of the disk, could be thought of as being installed to /dev/sda.

                    [source], [source], [source], [source]

                    As another example, you may be in for some trouble if grubx.efi is installed on /dev/sda8 or something.

                    The only real “hard” limit on the location of Grub is that, in the case of MBR, it necessarily must be located within the first 2.2 TB of the disk.

                    [source], [source], [source], [source]

                    I guess I must have gotten my preconceptions wrong, or perhaps I misread something. From my impression, certain things can be installed on the primary drive such as boot loaders, but I could be wrong.

                    As I outlined above, this is sort of a technicality in language that depends on context.

                    Finale 2012c is the main software I needed.

                    I’m not sure if this is exactly equivalent to that software, but perhaps you would be interested in MuseScore – it’s open source.

                    I’ve heard it can be pretty challenging to get into Arch, is this true?

                    This has been somewhat exaggerated through memes by the community, and strange elitism. It’s a bit tough to separate oneself from their curse of knowledge, but if one possesses the motivation to learn, it’s really not that complicated. Depending on one’s existing knowledge, it may initially appear daunting, but the community is quite good, from my experience, and the Arch Wiki is extremely useful. Installation is essentially a matter of just following the installation guide step-by-step.

                    I don’t know if I’ll ever be a “script kiddie” as it were.

                    Imo, arch has nothing to do with that. If one wants to be a part of that then prob lurking around the Kali Linux communities would be a start. Do note that I am not speaking about Kali Linux from experience, just hearsay, so take that with a grain of salt. But, yeah, Arch is more for people that want more fine-grained control over their system without wanting to get into the full-time job that is something like Gentoo 😜.

                    I don’t know how much I like the idea of having to hand-craft my OS from bare metal.

                    Imo, that’s not really what arch is – even Gentoo isn’t like that. The closest to that would probably be something like Linux From Scratch. Arch just gives you more freedom to choose the base software that your system is using – stuff like your DE, your networking utils, display server, audio server, etc.

                    I would like to emphasize that this kind of choice exists with virtually all Linux distros – as in you can essentially make any distro “look” like any other (there may be some intricacies that I am unaware of that may get in the way of changing some things without having to alter others); Arch Linux simply gives you most of the choice right up front.