1

I have a Lenovo Thinkpad 420 with Windows 7 running in legacy mode. I wanted to dual-boot Windows 7 along with Ubuntu.

I downloaded Ubuntu and created a bootable USB using Rufus 3.8. I used Rufus 3.8 to put Ubuntu on the USB stick. It says it will create a BIOS or UEFI bootable Ubuntu but it only seems to be UEFI. With changing the boot set-up to legacy, only the USB could not be recognized.

After reading for 2 weeks and multiple attempts to do a legacy Ubuntu install, I went ahead and installed Ubuntu with the EFI partition. Now I can't boot Windows 7 whether I set the boot options to Legacy Only or not. I can't reinstall Windows as UEFI as I am out of the country without installation disks for another year.

I would really like to get Ubuntu to boot in Legacy mode but how do I do that and get the current EFI install changed to Legacy or off the laptop so that I can even do a Legacy install of Ubuntu? Of course, I would still need the USB stick to a legacy install stick or I'm back to where I was 2 weeks ago. For information, the laptop is a single HD, 2 primary partitions for Windows (system_drv and Windows 7).

I used the "something else" install option as the install did not recognize that windows 7 was already installed. I created 4 extended/logical partitions (EFI, root, home and swap). I have noticed that the "boot" flag is removed from the "system_drv" partition of Windows. I don't get any boot options to choose Windows or Ubuntu.

fdisk -l output:

Disk /dev/loop0: 3,7 MiB, 3825664 bytes, 7472 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/loop1: 54,4 MiB, 57069568 bytes, 111464 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/loop2: 14,8 MiB, 15462400 bytes, 30200 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/loop3: 1008 KiB, 1032192 bytes, 2016 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/loop4: 149,9 MiB, 157184000 bytes, 307000 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/loop5: 4 MiB, 4218880 bytes, 8240 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/loop6: 88,5 MiB, 92778496 bytes, 181208 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/loop7: 42,8 MiB, 44879872 bytes, 87656 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/sda: 298,1 GiB, 320072933376 bytes, 625142448 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: 0xbc87ff27

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1            2048   2459647   2457600   1,2G  7 HPFS/NTFS/exFAT
/dev/sda2         2459648 368834559 366374912 174,7G  7 HPFS/NTFS/exFAT
/dev/sda3       368834560 369811455    976896   477M ef EFI (FAT-12/16/32)
/dev/sda4       369813502 625141759 255328258 121,8G  5 Extended
/dev/sda5       369813504 418639871  48826368  23,3G 83 Linux
/dev/sda6       418641920 610045951 191404032  91,3G 83 Linux
/dev/sda7       610048000 625141759  15093760   7,2G 82 Linux swap / Solaris




Disk /dev/sdb: 3,8 GiB, 4027580416 bytes, 7866368 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: 0x00e5a528

Device     Boot   Start     End Sectors  Size Id Type
/dev/sdb1  *         63 7866242 7866180  3,8G  c W95 FAT32 (LBA)
/dev/sdb2       7866243 7866305      63 31,5K ea Rufus alignment
Melebius
  • 11,431
  • 9
  • 52
  • 78
  • 1
  • Melebius, this might work, however I will admit that I don't understand the commend about "creating a new partition with the bios_grub flag". What is meant by the encrypted files? is "chroot" a linux command? Where is the /etc/fstab? Converting to BIOS boot:

    I deleted the EFI Partition and created a new partition with the bios_grub flag instead of it. Using this tutorial I mounted the encrypted file system, chrooted into it and installed GRUB. Remove the EFI Partition from /etc/fstab.

    – user1014219 Nov 18 '19 at 12:14
  • You are right the instructions are not really clear for a novice. An encrypted partition is not relevant to you, the important thing is that it was the root partition. I am sorry but I won’t likely have enough time to provide you with the detailed instructions for a few days… – Melebius Nov 18 '19 at 14:00
  • 1
    A bios_grub partition is only required with BIOS boot on gpt. Windows only boots in BIOS mode from the 35 year old MBR partitioning. Windows requires boot flag on its boot partition, often sda1, but UEFI requires boot flag on ESP - efi system partition. You cannot have two boot flags. So use gparted and delete ESP. Use gparted & move boot flag to sda1. Check that Windows boots. Then use Boot-Repair advanced mode to totally re-install grub to convert from UEFI to BIOS boot. Only boot in BIOS mode or totally reinstall Windows in UEFI mode. – oldfred Nov 18 '19 at 14:30
  • @oldfred: I deleted the ESP and added the "boot flag" to sda1 (system_drv) for windows. I then set the boot to be "Legacy Only". On the start-up I received a grub error message: about I386 and it went into grub_recover – user1014219 Nov 18 '19 at 16:55
  • @oldfred: that message is /boot/grub/i386-pc/normal.mod not found; Entering rescue mode; grub rescue>... – user1014219 Nov 18 '19 at 17:06
  • That error is typical from booting grub in wrong boot mode from a previous/old grub. To check if Windows boots, you need a Windows boot loader. Best to use your Windows repair flash drive, but it may be one of the few repairs to Windows that Boot-Repair can do. If it sees the Windows boot drive, it will offer in advance mode to install syslinux a Windows type boot loader. But to boot Ubuntu you need the BIOS version of grub and must boot live installer in BIOS mode & add Boot-Repair to it using ppa. https://sourceforge.net/p/boot-repair/home/Home/ – oldfred Nov 18 '19 at 18:03
  • @oldfred I did the boot-repair. It did not give me an advance mode option. I will add that my problem from the get-go is to get Ubuntu to install in BIOS mode. I still can't get windows to load. – user1014219 Nov 19 '19 at 14:50
  • 1
    @oldfred I was just able to boot into Windows....thank you! What I don't know yet is whether I can get back to Ubuntu ( I think I probably can) but just as importantly is making sure or getting Ubuntu to boot in BIOS mode. – user1014219 Nov 19 '19 at 15:34
  • @oldfred and Melebius, thank you both for your help. I just need now to understand if Ubuntu is booting in BIOS mode rather than EFI and what I need to do if it isn't. – user1014219 Nov 19 '19 at 16:51
  • 1
    Be sure to back up Windows & make a Windows repair flash drive. If Windows is BIOS & drive then must be MBR, you can convert an Ubuntu install to BIOS boot, just by total reinstall of grub. Grub has two versions grub-pc for BIOS and grub-efi-amd64 for 64 bit PCs and that is only difference between UEFI & BIOS other than a couple of settings that get changed when reinstalling grub. Often easier to reinstall grub from Boot-Repair but must boot in BIOS mode to make BIOS repairs. You also can from live installer chroot into install & reinstall grub from that. – oldfred Nov 19 '19 at 18:01
  • @oldfred I did an ls /sys/firmware/efi/ and it couldn't find the directory then I diddmesg | grep -q "EFI v" # -q tell grep to output nothing if [ $? -eq 0 ] # check exit code; if 0 EFI, else BIOS then echo "You are using EFI boot." else echo "You are using BIOS boot" fi and it said I was using BIOS. I am assuming it looks like I'm good to go in BIOS mode. thanks for your time and patience. – user1014219 Nov 20 '19 at 15:52
  • This thread can be closed. – user1014219 Nov 20 '19 at 15:55

0 Answers0