(fix FMW procedure) |
(rename the 'writing the usb stick' section to clarify) |
||
Line 65: | Line 65: | ||
[[image:Properties_USB_size.png]] | [[image:Properties_USB_size.png]] | ||
== | == Alternative USB stick writing methods == | ||
As explained above, the recommended method for writing the stick in most cases is [[#fmw|Fedora Media Writer]]. In this section, other tools which may be useful in specific circumstances are documented. | As explained above, the recommended method for writing the stick in most cases is [[#fmw|Fedora Media Writer]]. In this section, other tools which may be useful in specific circumstances are documented. |
Revision as of 21:43, 30 September 2016
This page explains how to create and use Fedora USB media. You can write all Fedora ISO images to a USB stick, making this a convenient way on any USB-bootable computer to either install Fedora or try a 'live' Fedora environment without writing to the computer's hard disk. You will need a USB stick at least as large as the image you wish to write.
Quickstart: Using Fedora Media Writer
For most cases, the best tool to create a Fedora USB stick is the Fedora Media Writer utility, which was formerly known as LiveUSB Creator. It is available on Fedora, other Linux distributions using Flatpak, Windows and macOS.
Fedora Media Writer is graphical and easy to use. It can download recent Fedora images for you as well as writing them to the USB stick.
On Fedora, you can use a Fedora graphical software installation tool to install the mediawriter
package, or use the command line: su -c 'dnf --enablerepo=updates-testing install mediawriter'
.
On Windows and macOS, you can download the installer from the releases page. On other Linux distributions, if they support the Flatpak application distribution system, you can download a flatpak from the releases page.
To run the tool, look for Fedora Media Writer in the system menus. To write the stick:
- Choose which Fedora flavor you want to install or try.
- On the title screen, you can choose Workstation, Server or your own .iso file. Other choices (including KDE, Cinnamon, Xfce and so on) are under the "..." button at the bottom of the list.
- Ensure your USB stick is plugged into the system.
- Click Create Live USB.
- Ensure the right stick is selected.
- Click Write to disk and wait for the write to complete.
- Once the stick has been written, shut the system down and boot it from the USB stick (see the Booting section).
When you start Fedora Media Writer, the three dots in the bottom will be flashing while the tool checks for a new Fedora release.
After writing, your flash drive will have a changed partition layout and some systems may report it to be about 10MB large. To return it to use as a simple data storage stick, you can insert the drive again while Fedora Media Writer is running and it will provide you with an option to restore a single-partition layout and to create a VFAT partition.
Booting from USB sticks
Almost all modern PCs can boot from USB sticks (some very old ones may not be able to). However, precisely how you tell the system to boot from a USB stick varies substantially from system to system. First, just try this:
- Power off the computer.
- Plug the USB drive into a USB port.
- Remove all other portable media, such as CDs, DVDs, floppy disks or other USB sticks.
- Power on the computer.
- If the computer is configured to automatically boot from the USB drive, you will see a screen that says "Automatic boot in 10 seconds..." with a countdown (unless you do a native UEFI boot, where you will see a rather more minimal boot menu).
If the computer starts to boot off the hard drive as normal, you'll need to manually configure it to boot off the USB drive. Usually, that should work something like this:
- Wait for a safe point to reboot.
- As the machine starts to reboot, watch carefully for instructions on which key to press (usually a function key, Escape, Tab or Delete) to enter the boot device selection menu, "BIOS setup", "firmware", or "UEFI". Press and hold that key. If you miss the window of opportunity (often only a few seconds) then reboot and try again.
- Use the firmware ("BIOS") interface or the boot device menu to put your USB drive first in the boot sequence. It might be listed as a hard drive rather than a removable drive. Each hardware manufacturer has a slightly different method for doing so.
- Be careful! Your computer could become unbootable or lose functionality if you change any other settings. Though these settings can be reverted, you'll need to remember what you changed in order to do so.
- Save the changes, exit, and the computer should boot from the USB drive.
If your system has a UEFI firmware, it will usually allow you to boot the stick in UEFI native mode or BIOS compatibility mode. If you boot in UEFI native mode and perform a Fedora installation, you will get a UEFI native Fedora installation. If you boot in BIOS compatibility mode and perform a Fedora installation, you will get a BIOS compatibility mode Fedora installation. For more information on all this, see the UEFI page. USB sticks written from x86_64 images with Fedora Media Writer, GNOME Disk Utility, dd, other dd-style utilities, and livecd-iso-to-disk with --efi should be UEFI native bootable. Sticks written with other utilities may not be UEFI native bootable, and sticks written from i686 images will never be UEFI bootable.
Checking USB disk size / free space
As noted before, the disk must have a certain amount of storage space depending on the image you select. If you use a destructive method, the stick must be at least the size of the image; if you use a non-destructive method, it must have at least that much free space. Whichever operating system you are using, you can usually check this with a file manager, usually by right clicking and selecting Properties. Here is a screenshot of how this looks on GNOME:
Alternative USB stick writing methods
As explained above, the recommended method for writing the stick in most cases is Fedora Media Writer. In this section, other tools which may be useful in specific circumstances are documented.
Using GNOME Disk Utility (Linux, graphical, destructive)
This method is for people running Linux (or another *nix) with GNOME, Nautilus and the GNOME Disk Utility installed. Particularly, if you are using a distribution other than Fedora which does not support Flatpak, this may be the easiest available method. A standard installation of Fedora, or a standard GNOME installation of many other distributions, should be able to use this method. On Fedora, ensure the packages nautilus
and gnome-disk-utility
are installed. Similar graphical direct-write tools may be available for other desktops, or you may use the command line "direct write" method.
- Download a Fedora image, choose a USB stick that does not contain any data you need, and connect it
- Run Nautilus (Files) - for instance, open the Overview by pressing the Start/Super key, and type Files, then hit enter
- Find the downloaded image, right-click on it, go to Open With, and click Disk Image Writer
- Double-check you're really, really sure you don't need any of the data on the USB stick!
- Select your USB stick as the Destination, and click Start Restoring...
Identifying a stick by /dev
name on Linux
The following methods will require you to know the /dev
name for your USB stick - e.g. /dev/sdc
- when using them on Linux. To find this out:
- Insert the USB stick into a USB port.
- Open a terminal and run
dmesg
. - Near the end of the output, you will see something like:
[32656.573467] sd 8:0:0:0: [sdX] Attached SCSI removable disk
where sdX will be sdb, sdc, sdd, etc. Take note of this label as it is the name of the disk you will use. We'll call it sdX from now on. If you have connected more than one USB stick to the system, be careful that you identify the correct one - often you will see a manufacturer name or capacity in the output which you can use to make sure you identified the correct stick.
Command line method: Using the livecd-iso-to-disk tool (Fedora only, non-graphical, both non-destructive and destructive methods available)
The livecd-iso-to-disk
method is slightly less reliable than Fedora Media Writer and can be used reliably only from within Fedora: it does not work in Windows or OS X, and is not supported (and will usually fail) in non-Fedora distributions. However, it supports three advanced features which FMW does not include:
- You may use a non-destructive method to create the stick, meaning existing files on the stick will not be destroyed. This is less reliable than the destructive write methods, and should be used only if you have no stick you can afford to wipe.
- On live images, you can include a feature called a persistent overlay, which allows changes made to persist across reboots. You can perform updates just like a regular installation to your hard disk, except that kernel updates require manual intervention and overlay space may be insufficient. Without a persistent overlay, the stick will return to a fresh state each time it is booted.
- On live images, you can also have a separate area to store user account information and data such as documents and downloaded files, with optional encryption for security and peace of mind.
By combining these features, you can carry your computer with you in your pocket, booting it on nearly any system you find yourself using.
It is not a good idea to try and write a new Fedora release using the version of livecd-iso-to-disk
in a much older Fedora release: it is best to only use a release a maximum of two versions older than the release you are trying to write.
Ensure the livecd-tools
package is installed: su -c 'dnf install livecd-tools'
Basic examples follow. Remember to identify your USB stick's device name first. In all cases, you can add the parameter --efi
to (try to) render the stick bootable in native UEFI mode. Detailed usage information is available by running: livecd-iso-to-disk --help
or man livecd-iso-to-disk
.
To make an existing USB stick bootable as a Fedora image - without deleting any of the data on it - make sure that the USB drive is not mounted before executing the following, and give the root password when prompted:
su -c "livecd-iso-to-disk Fedora-Workstation-Live-x86_64-42-1.1.iso /dev/sdX"
In case it is not possible to boot from a disk created with the method shown above, before re-partitioning and re-formatting, often resetting the master boot record will enable booting:
su -c "livecd-iso-to-disk --reset-mbr Fedora-Workstation-Live-x86_64-42-1.1.iso /dev/sdX"
If necessary, you can have livecd-iso-to-disk re-partition and re-format the target stick:
su -c "livecd-iso-to-disk --format --reset-mbr Fedora-Workstation-Live-x86_64-42-1.1.iso /dev/sdX"
To include a persistent filesystem for /home
, use the --home-size-mb
parameter. Foe example:
su -c "livecd-iso-to-disk --home-size-mb 2048 Fedora-Workstation-Live-x86_64-42-1.1.iso /dev/sdX"
This will create a 2GiB filesystem that will be mounted as /home
each time the stick is booted, allowing you to preserve data in /home
across boots.
To enable 'data persistence' support - so changes you make to the entire live environment will persist across boots - add the --overlay-size-mb
parameter to add a persistent data storage area to the target stick. For example:
su -c "livecd-iso-to-disk --overlay-size-mb 2048 Fedora-Workstation-Live-x86_64-42-1.1.iso /dev/sdX"
where 2048 is the desired size (in megabytes) of the overlay. The livecd-iso-to-disk tool will not accept an overlay size value greater than 4095 for VFAT, but for ext[234] filesystems it is only limited by the available space.
You can combine --home-size-mb
and --overlay-size-mb
, in which case data written to /home
will not exhaust the persistent overlay.
Command line "direct write" method (most operating systems, non-graphical, destructive)
This method direct writes the image to the USB stick much like Fedora Media Writer or GNOME Disk Utility, but uses a command line utility named dd
. Like the other "direct write" methods, it will destroy all data on the stick and does not support any of the advanced features like data persistence, but it is a very reliable method. The dd
tool is available on most Unix-like operating systems, including Linux distributions and OS X, and a Windows port is available. This may be your best method if you cannot use Fedora Media Writer or GNOME Disk Utility, or just if you prefer command line utilities and want a simple, quick way to write a stick.
- Identify the name of the USB drive partition. If using this method on Windows, with the port linked above, the
dd --list
command should provide you with the correct name. - Unmount all mounted partition from that device. This is very important, otherwise the written image might get corrupted. You can umount all mounted partitions from the device with
umount /dev/sdX*
, where X is the appropriate letter, e.g.umount /dev/sdc*
- Write the ISO file to the device:
su -c 'dd if=/path/to/image.iso of=/dev/sdX bs=8M status=progress oflag=direct'
- Wait until the command completes.
- If you see dd: invalid status flag: 'progress', your dd version doesn't support the status=progress option and you'll need to remove it (and you won't see writing progress).
Using UNetbootin (Windows, OS X and Linux, graphical, non-destructive)
While your results may vary, it is usually the case that the Fedora Media Writer, livecd-iso-to-disk, GNOME and dd methods give better results than UNetbootin. If you encounter problems with UNetbootin, please contact the UNetbootin developers, not the Fedora developers.
UNetbootin is a graphical, bootable USB image creator. Using it will allow you to preserve any data you have in the USB drive. If you have trouble booting, however, you may wish to try with a blank, cleanly FAT32-formatted drive.
If you are running a 64-bit Linux distribution, UNetbootin may fail to run until you install the 32-bit versions of quite a lot of system libraries. Fedora cannot help you with this: please direct feedback on this issue to the UNetbootin developers.
- Download the latest UNetbootin version from the official site and install it. On Linux, the download is an executable file: save it somewhere, change it to be executable (using
chmod ugo+x filename
or a file manager), and then run it. - Launch UNetbootin. On Linux, you might have to type the root password.
- Click on Diskimage and search for the ISO file you downloaded.
- Select Type: USB drive and choose the correct device for your stick
- Click OK
Creating a USB stick from a running live environment
If you are already running a live CD, DVD, or USB and want to convert that into a bootable USB stick, run the following command:
su -c "livecd-iso-to-disk /run/initramfs/livedev /dev/sdX"
See this section for mounting the root filesystem outside of a boot.
Troubleshooting
Fedora Media Writer problems
- Bugs can be reported to GitHub or Bugzilla. You can browse existing Bugzilla reports. Please report any problems you encounter that have not already been reported.
livecd-iso-to-disk problems
Partition isn't marked bootable!
If you get the message Partition isn't marked bootable!, you need to mark the partition bootable. To do this, run su -c 'parted /dev/sdX'
, and use the toggle N boot command, where X is the appropriate letter and N is the partition number. For example:
$ parted /dev/sdb GNU Parted 1.8.6 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print Model: Imation Flash Drive (scsi) Disk /dev/sdX: 1062MB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 1062MB 1062MB primary fat16 (parted) toggle 1 boot (parted) print Model: Imation Flash Drive (scsi) Disk /dev/sdX: 1062MB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 1062MB 1062MB primary fat16 boot (parted) quit Information: Don't forget to update /etc/fstab, if necessary.
Partitions need a filesystem label!
If you get the message Need to have a filesystem label or UUID for your USB device, you need to label the partition: su -c "dosfslabel /dev/sdX LIVE"
Partition has different physical/logical endings!
If you get this message from fdisk, you may need to reformat the flash drive when writing the image, by passing --format when writing the stick.
MBR appears to be blank!
If your test boot reports a corrupted boot sector, or you get the message MBR appears to be blank., you need to install or reset the master boot record (MBR), by passing --reset-mbr when writing the stick.
livecd-iso-to-disk on other Linux distributions
livecd-iso-to-disk
is not meant to be run from a non-Fedora system. Even if it happens to run and write a stick apparently successfully from some other distribution, the stick may well fail to boot. Use of livecd-iso-to-disk
on any distribution other than Fedora is unsupported and not expected to work: please use an alternative method, such as Fedora Media Writer.
Ubuntu's usb-creator
Ubuntu and derivative Linux distributions have a usb-creator
program similar to Fedora Media Writer. This does not work with Fedora ISO images, it silently rejects them. usb-creator requires the ISO to have a Debian layout, with a /.disk/info
file and a casper directory. Do not attempt to use this utility to write a Fedora ISO image.
Testing a USB stick using qemu
You can test your stick using QEMU as shown in the screenshot below.
For example, you could type the following commands:
su -c 'umount /dev/sdX1' qemu -hda /dev/sdX -m 1024 -vga std
Mounting a Live USB filesystem
You can use the liveimage-mount script in the livecd-tools
package to mount an attached Live USB device or other LiveOS image, such as an ISO or Live CD. This is convenient when you want to copy in or out some file from the LiveOS filesystem on a Live USB, or just examine the files in a Live ISO or Live CD.
Kernel updates for livecd-iso-to-disk-written images with a persistent overlay
If you have sufficient overlay space to accommodate a kernel update on a Live USB installation, the kernel and initramfs will be installed to the /boot directory. To put these into service they must be moved to the /syslinux directory of the installation partition. This is accessible from the running Live USB filesystem at the /run/initramfs/live mount point. The new initramfs (such as initramfs-3.12.5-302.fc20.x86_64.img) and kernel (such as vmlinuz-3.12.5-302.fc20.x86_64) should be moved to replace the /run/initramfs/live/syslinux/initrd0.img and /run/initramfs/live/syslinux/vmlinuz0 files, respectively.
- Note: dracut no longer includes the dmsquash-live module by default. Starting with Fedora 19, dracut defaults to the
hostonly="yes"
option, which precludes the dmsquash-live module. So, one can add a dracut config file, as root, before updating the kernel:
echo 'hostonly="no" add_dracutmodules+=" dmsquash-live " compress="xz"' > /etc/dracut.conf.d/01-liveos.conf
The following commands will move the new kernel and initramfs files to the device's /syslinux directory:
bootpath=run/initramfs/live/syslinux new=3.12.5-302.fc20.x86_64 cd / mv -f boot/vmlinuz-$new ${bootpath}/vmlinuz0 mv -f boot/initramfs-${new}.img ${bootpath}/initrd0.img