Results 1 to 10 of 124

Thread: Fix for making bootable Ubuntu Live USB with persistence using Unetbootin on a Mac

Threaded View

  1. #1
    Join Date
    Aug 2007
    a puddle in Manchester
    Ubuntu 14.04 Trusty Tahr

    Fix for making bootable Ubuntu Live USB with persistence using Unetbootin on a Mac

    Please see the addendum at the bottom of this post if you're having problems not achieving persistence with a recent version of Ubuntu.

    I have been spending a lot of time recently trying to make an Ubuntu Live USB with persistence that will boot on a Mac.
    Persistence is worthwhile having, at least in my case as my wifi does not work "out of the box" so without persistence any driver and firmware that I install once booted to the live desktop would become lost once the system is rebooted. I can obviously have things like Bookmarks for important sites retained too.

    I would make the USB with Unetbootin but at the end of the process it would report that this USB would not boot on a Mac. On trying to boot it it would always give either a "Boot error" message or "this is not a bootable disc..........." error.

    Most of the information I needed was already available (thanks to Christopher Friedt and others) but it just wouldn't quite work for me. It seemed I was missing a step or something. It seems I was.

    Apparently Unetbootin fails to write Syslinux to the MBR of the flash drive (or not correctly, if at all). This could possibly be a licensing kind of thing. It also seems to misread or misinterpret the boot flag or the active partition in some way. If Syslinux is not in the MBR there's nothing to point to where to go to boot anything.

    Anyway, I have just made a 2GB Ubuntu Live USB with persistence following the method below and not only does it boot on a Mac but the persistence actually works!

    What you'll need:-
    A Mac which is capable of booting from a USB flash drive
    A USB stick (2GB upwards in size if you want persistence)
    An Ubuntu .iso file - I had Ubuntu 13-04 amd64 for mac - **** if you want EFI boot on a Mac use a non-mac version of the Ubuntu iso
    Syslinux (a small downloaded file)
    Unetbootin for Mac

    OK, here we go:

    Plug your USB flash drive into your Mac.

    Open a terminal and run
    diskutil list
    and in its output note carefully the drive designation of your USB (the size will probably be the giveaway) mine for instance was /dev/disk1 but yours may be something else depending on what else is plugged in to your Mac.

    Open Disk Utility and select your USB drive and delete any current partitions. That is click on any partitions in the left pane and in the right pane click erase.
    Then click on your USB drive in the left pane and the partition tab in the right pane and create one partition of MS-DOS FAT type naming it anything you want. It's probably wise to click on the options tab and make sure that MBR is ticked. Click on apply.
    Ok, once that's run we're finished with Disk Utility.

    In the terminal unmount the USB with
    diskutil unmountDisk /dev/diskX
    - changing the X to your drive's number

    Now we'll mark the partition as active (even though some programs will already think so, like gparted, for instance)

    Open a terminal and run
    sudo fdisk -e /dev/rdiskX
    (yes, the extra r is advisable (quicker) and change the X to the number of your USB disc that diskutil gave you earlier)
    at this point your prompt will become an fdisk prompt and I got the following message
    fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
    Enter 'help' for information
    which I ignored.

    now enter these 3 commands
    f 1
    Please note that you should be able to see your desktop (the area where discs mount) and if at any time during the above the disk appears and stays there run the unmount command again.

    Ok, so far so good.
    Now download syslinux

    Now it can get a bit messy. In the terminal you need to cd to the folder which has the mbr.bin.

    In syslinux version 6.01 the mbr.bin is in the syslinux-6/bios/mbr folder so that's where you'd need to cd to.
    My (older) version was different (syslinux/mbr) and I've also seen it elsewhere too so you need to have a look where this file is first. If you've extracted the zip file you can have a look in these places for it in the Finder before cd'ing.

    Now we can write the much needed code to the MBR of the USB drive

    sudo dd conv=notrunc bs=440 count=1 if=mbr.bin of=/dev/diskX
    - again change the X to your drive's number

    After a second or two it should report bytes written count which should be 440.

    If this gives an error about not getting access run the unmount command again for your USB (above)

    If it gives an error about no mbr.bin then you've cd'd to the wrong part of syslinux folder - possibly!

    It may report that the changes won't be made unless you reboot. If it does just type y and enter, then reboot.

    Ok now download and install Unetbootin for Macs and use it in the normal way to make the Live USB choosing if you wish to make the persistence file by entering a size in the appropriate field.
    It will give the usual guff about what it's doing and may even appear to hang for a while, even give the spinning coloured wheel - just leave it running. It could take about 20 minutes or so, maybe a touch more but leave it anyway.

    It will finish and report that the USB will not be bootable on a Mac. Bah, humbug!

    Reboot leaving your USB flash drive inserted and if you don't have rEFInd installed hold the Option (ALT) key after the chime until the appropriate menu choices appear.
    If you have rEFInd installed you'll see a nice penguin at the end - choose that
    If no rEFInd choose the one that wasn't there before (can't remember as I use rEFInd).

    You should be greeted by a Unetbootin menu with Default as the top option. You only have a few seconds to choose but my menu included an option to "try Ubuntu without installing" (3rd item down) and I chose that one. Others have reported no such menu item and have used Default, but that doesn't boot for me.

    Ubuntu should start loading. Enjoy!

    I loaded Ubuntu desktop and changed some wifi setting as my wifi doesn't work out of the box and installed one or two things in the sidebar.
    I then rebooted and those changes were still there! Wifi worked without any changes.
    ie persistence now works!! Something I have never got to work before.

    As stated above this is what worked for me. It is not guaranteed and if you break something it's on your head!
    For instance if you make a mistake entering any of these commands you WILL VERY POSSIBLY destroy data on another drive!!!!!!! Be very careful!!!

    This information has been gathered from many sources including the, Christopher Friedt's sites
    and much trawling through the Net.

    Having said all that if you come across any problems I will try to help - though I am no coder!

    ****** ADDENDUM********
    It seems in more recent versions of Ubuntu that the persistence can fail (particularly if booted in EFI).
    I've had a mooch around and thanks to others there may be a fix. At least it's currently working for me and one other

    I plugged the newly made USB in to my Mac and opened the drive then navigated to /boot/grub then opened grub.cfg with textedit
    In the newly opened file go to this menu entry
    menuentry "Try Ubuntu without installing" {
    which is the first one in the file.
    Just further down the file is the line below to which I've added the word "persistent"
    linux	/casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper persistent quiet splash --
    Once added you can save the file and then boot from it and hopefully have persistence.

    Good luck!
    Last edited by Quackers; March 6th, 2014 at 11:23 PM.
    MacBook Pro 10,1 retina


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts