Lenovo Thinkcentre M73e won't boot from HDD

From Wurst-Wasser.net
Revision as of 09:35, 13 March 2024 by Heiko (talk | contribs) (→‎i3 (Model MT-M-3267-AZ4))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

About

I own (at the time I write this) two Lenovo Thinkcentre M73e:

  • with a Intel Pentium CPU
  • with a Intel i3 CPU

Most tests where done with OpenSUSE Tumbleweed, few ones with Debian Bookworm. Results seem all the same.

The Problem

The PC kept telling me:

1962 No Operating System Found

i3 (Model MT-M-3267-AZ4)

The i3-CPU-PC won't boot, in any circumstance, the newly installed Linux. BUT, it would boot if I booted from CD first and chose to boot from the harddisk from there.

I've read countless Webpages..but nothing worked.

  • Installing Linux on a MBR-dartioned Disk got it to at least beginning to boot, freezing short after, might be on the right track
    • To verify the HDD-system was properly set up (I fiddled with partitioning a bit too much), I booted from CD and from there from hdd. Which ended up exactly the same! \o/

Solution #1: MBR

  • Make sure, Legacy (or Auto is enabled, not UEFI only) in BIOS
  • Create a MBR-partitiontable (boot install CD, use ctrl-alt F2 for console, use fdisk to create partition table (o)), then reboot
  • Let the installer run as usual, and let him remove and create partitions as he likes - as long as he keeps the MBR-partitiontable
  • If it doesn't boot right away (you should have applied below shown Boot Loader options):
    • use the CD to boot from HDD
    • run

YAST Bootloader or in shell yast bootloader

    • Use this

Boot Loader-Setting:
Boot loader Screenshot 20231027 162134.png

This is how you obtain the UUID:

linux:/home/heiko # blkid ; fdisk -l
/dev/mapper/cr_swap: UUID="e3be5f9e-ee98-4877-8e4f-bb6b703e2256" TYPE="swap"
/dev/mapper/cr_root: UUID="b4e0f80d-043d-44ea-ba2d-7de42cd793f4" UUID_SUB="fe75f178-701e-4912-b911-f182f12a550f" BLOCK_SIZE="4096" TYPE="btrfs"
/dev/sda2: UUID="0649cfa2-664c-406a-bcaf-5722a7a2300b" TYPE="crypto_LUKS" PARTUUID="78f3d434-02"
/dev/sda3: UUID="c43a7673-aa2d-4053-90e9-514d7e77acaf" TYPE="crypto_LUKS" PARTUUID="78f3d434-03"
/dev/sda1: UUID="213A-49D1" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="78f3d434-01"
Disk /dev/sda: 447.13 GiB, 480103981056 bytes, 937703088 sectors
Disk model: SanDisk Ultra II
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: 0x78f3d434

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048   2099199   2097152     1G ef EFI (FAT-12/16/32)
/dev/sda2         2099200 930041855 927942656 442.5G 83 Linux
/dev/sda3       930041856 937703087   7661232   3.7G 82 Linux swap / Solaris


Disk /dev/mapper/cr_root: 442.48 GiB, 475104542720 bytes, 927938560 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


Disk /dev/mapper/cr_swap: 3.65 GiB, 3920453632 bytes, 7657136 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
linux:/home/heiko #

Choose the Linux (not swap) partition's UUID.

Solution #2: EFI-copy (not working for me)

https://ubuntuforums.org/showthread.php?t=2243715

HP and Sony only boot Windows. So we have many work arounds, some work better than others.

Since you do not have any Windows you can just create the Windows efi boot file with the Windows name. Then the UEFI will think it is booting Windows but really boots grub.

You will have to recreate in the efi partition the Windows folder, a boot folder under Windows and copy grubx64.efi into that folder and rename it to bootmgfw.efi.

mount /dev/sda1 /mnt
cd /mnt/EFI

# use ls to see if mounted correctly
ls -l
mkdir Microsoft
mkdir Microsoft/Boot
cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Microsoft/Boot/bootmgfw.efi

# Most systems also have a /Boot folder and can boot grub from that using a hard drive entry.
mkdir Boot

cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Boot/bootx64.efi

# Your ls -l should then have this in the efi partition:
/EFI/Boot
/EFI/Microsoft/Boot
/EFI/ubuntu

You have a large 2TB drive. System will run better with a smaller / (root) partition and then larger /home or /mnt/data partition(s). With a large root, grub, kernels & system files may be anywhere in root or anywhere on drive. So drive has to jump all over 2TB to find its files. I expect it has ways to optimize that, but with a smaller / then it does not have that much space to find files from.

Then tried…

cp opensuse/grubx64.efi Boot/bootx64.efi

…with no effect.

Pentium (Model XX)

This one worked just fine. Installed, booted, all working great. When I was debugging the i3-issue, I switched disks between the two, and then this machine also ran into the same problem.

What fixed it for me: I set the MBR-flag in YAST Partitioner. Or did I remove it? Dang, don't remember. Must try it again and write it down here.

Footer