0

All,

I have a USB stick that used to boot fine. I thought I'd reuse it. Reformatted it, copied some files over, and now it won't boot. I've used "lilo -M /dev/sdc mbr" with no luck. Note that the stick itself isn't busted, I can boot to it, but not from it but the computer refuses to like it as a boot device. Any idea what I broke, and how to fix it? As a backup it's usable so long as I boot it from a floppy, but I want it to boot directly like it used to. I erased everything off it in case the ext4 FS was somehow at fault (maybe the partition table or something), but no luck.

However, if I 'dd' an .iso image to the stick, it boots to that just fine. I can then use lilo to write to the stick and have it boot to anything (ignoring the .iso), and all is well, but if I then delete the .iso, it's back to 'Non-system disk'. So it seems the .iso file is somehow involved in/with the MBR. Nothing like this ever happens with HDDs that I'm aware of. My understanding is that the MBR is a world unto itself and if it is 1st stage lilo bootable then it cares nothing about any other file on the disk until the 2nd stage is reached. I use floppies like that all the time (MBR only, no files at all) to control my boot. I can just leave the .iso there of course, and use partitions on the rest of the stick, but that seems very inelegant.

Thoughts?

  • Make sure you mark a partition as active/boot as some stupid biosen refuse to load an MBR otherwise. – psusi Jan 26 '15 at 0:34
1

Victory!

Thanks to psusi I now know that the boot flag must be set on the USB stick even though on a HDD this was never necessary (when using lilo). This is true even when only the MBR on the stick is being used (as with a floppy), and the map file is on another drive.

  • Are you quite sure that you had a partition flagged as bootable before? If you install lilo to the MBR after, then extlinux is unused. – psusi Jan 26 '15 at 1:16
  • I would have thought so, but the computer throws 'Non-system disk' at me if extlinux isn't there, yet, as you say, lilo boots exactly as it would from a HDD, which is to say that it seems to ignore extlinux. I've done it several times: lilo alone: nope. install extlinux: lilo works. reinstall extlinux: lilo unchanged. Mind ... lilo never cared about the bootable flag itself ... – Ray Andrews Jan 26 '15 at 2:58
  • Right... LILO doesn't care about the boot flag.. but some bioses do... so if you didn't have it set prior to installing extlinux, and installing extlinux did set it, then that is what fixed it. – psusi Jan 26 '15 at 3:02
  • Tricky tho. I don't have the boot flag set on any of my HHDs and everything boots. extlinux w.o. boot flag didn't boot, (it didn't set it automaticaly), but when set, if the two extlinux files are not there, then no luck. I wonder if those files are needed by the BIOS itself somehow/ – Ray Andrews Jan 26 '15 at 5:27
  • ... maybe the BIOS uses the boot flag to find those two files. Seems that way. – Ray Andrews Jan 26 '15 at 5:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.