cannot boot linux usb without uefi, but uefi option not present in boot menu

0

I have two Dell laptops: one a Latitude E6430, and the other a Vostro 1015. For both of them, the BIOS settings indicates they are in Legacy mode, not GPT / UEFI (apologies if any of my terminology is imprecise). However, for the latitude, there appears to be an option in the BIOS settings to switch to GPT / UEFI. However, I have not touched that option; it is currently set to off. For the Vostro, there doesn't appear to be any options at all in the BIOS settings to switch to UEFI. I'm assuming this means that my Vostro motherboard only supports Legacy, not UEFI.

I wanted to install linux on both, so I created an Arch linux live USB. I did this on my macbook by first formatting it in MS-DOS FAT32 using the default Disk Utilities program in Mac OS, then using dd if=/path/to/arch.iso of=/dev/rdisk2s1 bs=1m, as suggested by the Arch Linux wiki. When I plug in the live USB to my Latitude and boot up, the menu has two items related to the usb drive, which read something like this;

- Boot from USB
- UEFI boot from USB

If I select the first option, I get cryptic error messages like "device not bootable" or "linux bin corrupted". However, if I select the second option, I can boot into the Linux installer, and everything works perfectly. The same thing appears to happen if I use an Ubuntu live usb installer instead. The naive conclusion I'm reaching from this, which I find somewhat suspicious, is that Linux live usbs only work in UEFI mode.

Now if I try the same USB key on my Vostro 1015, the boot menu does not have the "UEFI boot from USB" option, only the "Boot from USB" option. If I select that option, I again get cryptic error messages saying the USB drive cannot boot.

What is going on here? Aren't Live USBs supposed to be compatible with both UEFI and legacy USB boot modes?

I would like to install Linux on my Vostro, and I'm guessing I need to either get the Live USB to boot properly without UEFI mode, or enable the "UEFI USB boot" option in the menu. I'm not certain how to do either of those things.

xdavidliu

Posted 2018-03-24T16:19:44.503

Reputation: 255

@NasirRiley I just updated my post. (I created the arch linux USB by formatting it as MS-DOS FAT, then using dd from Mac OS Terminal) – xdavidliu – 2018-03-24T16:38:43.800

@NasirRiley no I do not – xdavidliu – 2018-03-24T17:01:42.163

Answers

0

Okay I fixed it. The key: I need to dd into disk2, NOT disk2s1. Here's an explanation:

I'm doing my formatting and usb disk creation in Mac OS. When I do diskutil list, I get the following:

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.6 GB    disk2
   1:                 DOS_FAT_32 UNTITLED                15.6 GB    disk2s1

Previously, when I created my usb, I did

dd if=/path/to/arch.iso of=/dev/rdisk2s1 bs=1m

This resulted in a USB drive that always gives error messages like isolinux.bin missing whenever I try to boot the USB in legacy mode, but works perfectly if I boot it in UEFI mode.

However, if I instead do

dd if=/path/to/arch.iso of=/dev/rdisk2 bs=1m

e.g. note rdisk2 NOT rdisk2s1, then the usb drive works perfectly, even when usb booting in legacy mode.

xdavidliu

Posted 2018-03-24T16:19:44.503

Reputation: 255