From Fedora Project Wiki

m (make an image smaller)
(72 intermediate revisions by 23 users not shown)
Line 1: Line 1:
{{autolang|base=yes}}
{{autolang|base=yes}}
<noinclude>
[[Image:mediawriter-icon.png‎|right]]
[[Category:LiveMedia]]
</noinclude>
This page explains '''how to create and use Fedora USB media'''.  A Live USB system stored on flash memory, sometimes called a ''stick'', lets you boot any USB-bootable computer into a Fedora operating system environment without writing to that computer's hard disk.  The Live USB stick can feature an area to store changes to the system, called a ''persistent overlay''.  It 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. Finally, with a non-destructive installation, pre-existing files and excess storage space on the stick are accessible from the system. Essentially, you can carry your computer with you in your pocket, booting it on nearly any system you find yourself using.
 
With current Fedora releases you can also write the non-live Fedora installation images (the DVD and network installation images) to a USB stick, which many users find more convenient and faster than writing to an actual optical disc.


{{admon/note | Quick start | The process for most people is simpleAlmost all USB sticks are provided by hardware manufacturers ready to use with this process.  If you have any documents on your USB stick, it's not a bad idea to ''back them up'' before you start.
This page explains '''how to create and use Fedora USB media'''You can write all [https://getfedora.org/ 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.


* Download the '''LiveUSB Creator''' program from http://fedorahosted.org/liveusb-creator if you're on Windows, or install on your Linux system using PackageKit or yum.
{{anchor|quickstarts}}
* Download the Live ISO image from http://fedoraproject.org/get-fedora.
{{anchor|fmw}}
* Insert your stick and run the '''LiveUSB Creator''' program.
{{anchor|luc}}
== Quickstart: Using Fedora Media Writer ==
[[Image:Fedora_Live_USB_creator.png|thumb|right|Fedora Media Writer screenshot]]


Then reboot your system and use your computer's built-in function to choose the USB boot device -- usually this is a special key you hold down at boot time, such as '''F12'''. Then enjoy!
For most cases, the best tool to create a Fedora USB stick is the [https://github.com/MartinBriza/MediaWriter Fedora Media Writer] utility, which was formerly known as LiveUSB Creator. It is available on Fedora, other Linux distributions using [http://flatpak.org/ Flatpak], Windows and macOS.


If you are into technical details or want more information on alternative tools and advanced usage, please read on.}}
{{admon/important | Destructive method | This method will destroy all data on the USB stick. If you need a non-destructive write method (to preserve existing data on your USB stick) and/or support for 'data persistence', you can use the [[#litd|livecd-iso-to-disk]] utility on Fedora.}}


{{admon/warning | Using UNetbootin | Following each release, Fedora support volunteers receive reports of problems with installation images created by Unetbootin. Using the most recent version of Unetbootin available has been known to improve results. While your results may vary, for best results, use the liveusb-creator. If you encounter problems with Unetbootin, please contact the Unetbootin developers, not the Fedora developers.}}
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 {{package|mediawriter}} package, or use the command line:


__TOC__
{{command|1=su -c 'dnf install mediawriter'}}


{{admon/important | Creating Live CD ISO image | A Live USB system is created from the same ISO image file that is used to create Live CD/DVD media.  You can download ISO images for the official Fedora release from [http://fedoraproject.org/get-fedora the Fedora download site]. Consult [[How to create and use a Live CD]] for more information on creating your own customized ISO image file.}}
On Windows and macOS, you can download the installer from [https://github.com/MartinBriza/MediaWriter/releases the releases page]. On other Linux distributions, if they support the [http://flatpak.org/ Flatpak] application distribution system, you can download a flatpak from [https://github.com/MartinBriza/MediaWriter/releases the releases page].


== System Requirements ==
To run the tool, look for '''Fedora Media Writer''' in the system menus. When you start Fedora Media Writer, the three dots in the bottom will be flashing while the tool checks for a new Fedora release.


* A working computer running Fedora or Windows. If you are using other Linux distributions, consider using dd or [http://unetbootin.sourceforge.net/ UNetbootin]. UNetbootin is also available for Mac OS X and Windows, and is in the Fedora repository as well.
To write the stick:
* A [[wikipedia:USB flash drive|USB flash drive]], also known as a USB stick, thumb drive, pen drive, or jump drive, with 1 GB or more of storage space, on a ''vfat'' file system (standard for almost all off-the-shelf USB media)


=== Ability to boot from USB media ===
# 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 [[#booting|the Booting section]]).


Though most modern ones can, not all computers can boot from USB media, due to different BIOS settings and system capabilities. If your computer cannot do so, this procedure will not be useful. If you are not sure and don't mind downloading and installing an image on your USB drive (possibly wiping it of
After writing, your USB stick will have a changed partition layout and some systems may report it to be about 10MB large. To return your USB stick to its factory configuration, insert the drive again while Fedora Media Writer is running. The app provides you with an option to restore to the factory layout. This layout includes a single VFAT partition.
data), the only risk is wasting some time.


If your USB stick is not in working order, this procedure may fail.  Watch for error messages during the process.
__TOC__
 
Some flash drives may not be bootable by default, even if your hardware is capable of doing so. You may need to mark the partition bootable or you may just need to reformat the flash drive. See [[How_to_create_and_use_Live_USB#Problems_and_solutions|Problems and solutions]] below for more information.
 
=== Sufficiently large USB stick ===


Many USB sticks indicate the size on the packaging or the outside of the stick.
{{anchor|booting}}
== Booting from USB sticks ==


If you don't know the size of the stick, or want to check it for data, you should be able to auto-mount the USB stick by inserting it into a USB port. You can check the contents and size using the graphical file manager.  In Linux, you can also use the command {{command|df -h}}:
[[Image:Bios_USB_boot.jpg|thumb|right|Set USB as first boot device. Your BIOS may be different.]]
<pre>
$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
143G  14G  122G  10% /
/dev/sda1              99M  12M  82M  13% /boot
tmpfs                1009M    0 1009M  0% /dev/shm
/dev/sdb1            3.9G  4.0K  3.9G  1% /media/usbdisk
</pre>


USB drives are usually mounted in {{filename|/media}} or {{filename|/run/media/username/}}. In this case, the device is /dev/sdb1, has a 3.9GB capacity and is almost empty. As a rule of thumb, you should use a stick of at least 1GB to write a live image or network install image, and a stick of at least 4GB to write a DVD image.
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:


Take note of {{filename|/dev/sdb1}} or equivalent; you will be specifying the device name if you use the command line method. This is the string you substitute for USBPARTITIONNAME where it occurs in the instructions below.
# 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).


== Optional: re-partition and format your USB stick ==
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:


If you have a USB stick with a FAT-formatted partition that has a decent amount of free space, you can skip the repartitioning and formatting steps below, and simply continue with the following steps. This should allow you to add the Fedora live image to the stick without destroying any of the data already on it. However, '''it is highly recommended to make a backup copy of the data on the USB drive before proceeding''' in case something goes wrong.
# 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 you have any trouble trying the non-destructive installation path, try first to reset the master boot record, MBR, with the {{command|--reset-mbr}} option.
If your system has a [[Unified_Extensible_Firmware_Interface|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 [[Unified_Extensible_Firmware_Interface|UEFI page]]. USB sticks written from x86_64 images with [[#fmw|Fedora Media Writer]], [[#gnome|GNOME Disk Utility]], [[#dd|dd]], other dd-style utilities, and [[#litd|livecd-iso-to-disk]] with {{code|--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.


Occasionally, a filesystem can be damaged and re-partitioning and re-formatting before writing the stick may be necessary.  Otherwise, it is [http://wiki.laptop.org/go/How_to_Damage_a_FLASH_Storage_Device recommended to keep the factory formatting] of flash media devices.
== Checking USB disk size / free space ==
=== How to re-partition ===


{{admon/warning | CAUTION | This will erase all data on the USB drive!  Please read the instructions below ''carefully''.}}
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:


{{admon/note | Skip if using command-line method | If you intend to use the livecd-iso-to-disk tool, documented below, you can skip this step and the ''How to Format'' step below, and simply pass the {{command|--format}} {{command|--msdos}} and {{command|--reset-mbr}} parameters to that tool if you need to re-partition and/or re-format the stick.}} <!-- msdos formatting is no longer the default. -->
[[image:Properties_USB_size.png|thumb|350px|none]]


If the drive has not been partitioned properly (or if you are unsure), use {{command|fdisk}} to repartition it.
{{anchor|#device}}
{{anchor|device}}
== Identifying a stick by {{filename|/dev}} name on Linux ==


Include only the drive name in the command, not the partition number.  '''''Be sure to select the correct disk, or you may erase important data!'''''  Check the output of "df -h" if you are unsure.  For example, if your partition will be /dev/sdb1, do:
Most of the [[#writing|alternative writing methods]] will require you to know the {{filename|/dev}} name for your USB stick - e.g. {{filename|/dev/sdc}} - when using them on Linux. You do not need to know this in order to use [[#fmw|Fedora Media Writer]]. To find this out:
<pre>
su -c 'fdisk /dev/sdb'
</pre>
If you don't have fdisk installed, run {{command| su -c 'yum install util-linux-ng'}} to install it.  


The following session output from {{command|fdisk}} shows the responses to give to the prompts.  The line starting <code>Last cylinder ...</code> refers to the size of the flash drive, so may be different than in the example. The ''d'' command deletes an existing partition; the ''n'' command creates a new partition; the ''t'' command sets the type of a partition; and the ''w'' command commits your changes (at any point before running the ''w'' command, you can quit fdisk without any changes actually being made to the disk).
# Insert the USB stick into a USB port.
# Open a terminal and run {{command|dmesg}}.
# Near the end of the output, you will see something like:
<pre>
<pre>
Command (m for help): '''d'''
[32656.573467] sd 8:0:0:0: [sdX] Attached SCSI removable disk
Selected partition 1
Command (m for help): '''n'''
Command action
e  extended
p  primary partition (1-4)
'''p'''
Partition number (1-4): '''1'''
First cylinder (1-960, default 1): '''↵'''
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-960, default 960): '''↵'''
Using default value 960
Command (m for help): '''t'''
Selected partition 1
Hex code (type L to list codes): '''6'''
Changed system type of partition 1 to 6 (FAT16)
Command (m for help): '''a'''
Partition number (1-4): '''1'''
Command (m for help): '''w'''
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
</pre>
</pre>
=== How to re-format ===
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.
 
{{admon/warning | CAUTION | This will erase all data on the USB drive!  Please read the instructions below ''carefully''.}}


To finish, the partition must be formatted with an actual file system using {{command|mkfs.vfat}} as the root user.  Unmount the device before using {{command|mkfs.vfat}}.  In the below example, {{filename|/dev/USBPARTITIONNAME}} might be, for example, {{filename|/dev/sdb1}}.  '''''Be sure to select the correct partition; formatting destroys all data on it!'''''
{{anchor|writing}}
== Alternative USB stick writing methods ==


<pre>
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.
su -c 'umount /dev/USBPARTITIONNAME'
su -c 'mkfs.vfat -F 32 -n usbdisk /dev/USBPARTITIONNAME'
</pre>


If you don't have mkfs.vfat installed, run "yum install dosfstools" as root.
{{anchor|gnome}}
=== Using GNOME Disk Utility (Linux, graphical, destructive) ===


== Download an ISO ==
{{admon/important | Destructive method | This method will destroy all data on the USB stick. If you need a non-destructive write method (to preserve existing data on your USB stick) and/or support for 'data persistence', you can use the [[#litd|livecd-iso-to-disk]] utility on Fedora.}}


(If you intend to use the "Graphical" method below, with a supported Fedora release, you can skip this step. The program will download the ISO for you.)
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 {{package|nautilus}} and {{package|gnome-disk-utility}} are installed. Similar graphical direct-write tools may be available for other desktops, or you may use the [[#dd|command line "direct write" method]].


You can use BitTorrent or your web browser to download a bootable image, or ISO, which you will install on your USB drive.
# 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...'''


Quick links:
{{anchor|litd}}
* [http://fedoraproject.org/en/get-fedora Supported releases]
=== Command line method: Using the ''livecd-iso-to-disk'' tool (Fedora only, non-graphical, both non-destructive and destructive methods available) ===
* [http://fedoraproject.org/get-prerelease Pre-releases] (Alpha and Beta; redirects to previous supported release during pre-Alpha phase)
* [http://alt.fedoraproject.org/pub/alt/nightly-composes/desktop/ Nightly test composes]


You are looking for a file with "Live" in the name, usually of the form {{filename|Fedora-<version>-<architecture>-Live-Desktop.iso}}.  For example, {{filename|Fedora-{{FedoraVersionNumber}}-x86_64-Live-Desktop.iso}} is the {{FedoraVersion|short}} release for 64-bit Intel-compatible CPUs. Be sure to choose the correct file for your architecture.  32-bit releases will generally run on 64-bit hardware, but will not be optimized.
{{admon/important | Potentially destructive method | This method will destroy all data on the USB stick ''if the '''--format''' parameter is passed''.}}


These instructions will also work for [[Spins Custom|Custom Spins]] of Fedora Live ISO images, including those you make yourself with Revisor (a graphical tool), or LiveCD Creator (command-line tool used by Revisor). (Pungi is a command-line tool you can use to create installable ISOs, but not Live ISOs.)
The {{command|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:


If you use a LiveUSB with data persistence, you can use the "yum update" method described below to get the latest daily Rawhide RPMs (mostly for testers and not everyday use) [https://bugzilla.redhat.com/show_bug.cgi?id=446935 except for the kernel].  See [[Releases/Rawhide]] for more information about daily builds.
# 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 [[#Kernel updates|manual intervention]] and [[#limited overlay|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.


The nightly test composes will be built from the [[Releases/Branched|Branched]] release when there is one, and from [[Releases/Rawhide|Rawhide]] when there is no Branched.
By combining these features, you can carry your computer with you in your pocket, booting it on nearly any system you find yourself using.


== Write the stick ==
It is not a good idea to try and write a new Fedora release using the version of {{command|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.


=== Graphical Method - Windows or Fedora ===
Ensure the {{package|livecd-tools}} package is installed: {{command|su -c 'dnf install livecd-tools'}}


Fedora USB sticks can be created in Windows and Linux using the [http://fedorahosted.org/liveusb-creator liveusb-creator] utility. Note that this utility is only capable of writing Live images. It is possible to write non-live images to a USB stick, but you must use one of the two command-line methods documented below.
Basic examples follow. Remember to [[#device|identify your USB stick's device name]] first. In all cases, you can add the parameter {{command|--efi}} to (try to) render the stick bootable in native UEFI mode. Detailed usage information is available by running: {{command|livecd-iso-to-disk --help}} or {{command|man livecd-iso-to-disk}}.


For Windows using the following steps:
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:
* Download liveusb-creator from [http://fedorahosted.org/liveusb-creator the site]
: {{command|su -c "livecd-iso-to-disk Fedora-Workstation-Live-x86_64-{{FedoraVersionNumber|next}}-1.1.iso /dev/sdX"}}
* Double click 'liveusb-creator'


If you are using Fedora, you can use Add/Remove Programs and search for ''liveusb-creator'', or use the command line:
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:
<pre>
su -c 'yum install liveusb-creator'
</pre>
 
To start, run {{command|liveusb-creator}} on the command line, or on the GNOME menu, go to ''Applications -> System Tools -> liveusb-creator''.


To use the tool, simply select a Fedora release to download from the drop-down box at top-right (or select an ISO you have already downloaded using the ''Browse'' button at top-left), select the USB stick to which you wish to write the image from the ''Target Device'' drop-down box, and hit the ''Create Live USB'' button.
: {{command|su -c "livecd-iso-to-disk --reset-mbr Fedora-Workstation-Live-x86_64-{{FedoraVersionNumber|next}}-1.1.iso /dev/sdX"}}


=== Command Line Methods ===
{{admon/warning | CAUTION: | Using the {{command|--format}} option in the following command will erase all data on the USB drive!  Please read the instructions below ''carefully''.}}


In the following examples, replace {{filename|/path/to/ISO}} with e.g. {{filename|Fedora-16-x86_64-Live-Desktop.iso}} or the full path to the ISO you downloaded, e.g. {{filename|/tmp/Fedora-16-x86_64-Live-Desktop.iso}}.
If necessary, you can have ''livecd-iso-to-disk'' re-partition and re-format the target stick:


Replace {{filename|/dev/USBPARTITIONNAME}} with the appropriate partition name. For example, {{filename|/dev/sdb1}} in the example above ("Check the size of your USB drive"). '''''Be careful to specify the correct device, or you may lose important data!'''''
: {{command|su -c "livecd-iso-to-disk --format --reset-mbr Fedora-Workstation-Live-x86_64-{{FedoraVersionNumber|next}}-1.1.iso /dev/sdX"}}


Both of these methods work with all Fedora images, not just live images: you can use {{command|dd}} or {{command|livecd-iso-to-disk}} to write a Fedora DVD or network installation ISO to a USB stick. However, for Fedora 15, non-live images cannot be written using {{command|dd}}.
To include a persistent filesystem for {{filename|/home}}, use the {{command|--home-size-mb}} parameter. Foe example:


==== Using dd for a direct copy ====
: {{command|su -c "livecd-iso-to-disk --home-size-mb 2048 Fedora-Workstation-Live-x86_64-{{FedoraVersionNumber|next}}-1.1.iso /dev/sdX"}}


{{admon/warning | CAUTION | This will erase all data on the USB drive!  Please read the instructions below ''carefully''.}}
This will create a 2GiB filesystem that will be mounted as {{filename|/home}} each time the stick is booted, allowing you to preserve data in {{filename|/home}} across boots.


You can simply use dd (or similar direct imaging tools for other operating systems) to write a Fedora ISO to USB, although the specialized tools have additional features like non-destructive writing and data persistence. dd will always destroy any other data on the target stick, and cannot provide a persistent environment.
To enable 'data persistence' support - so changes you make to the entire live environment will persist across boots - add the {{command|--overlay-size-mb}} parameter to add a persistent data storage area to the target stick. For example:
<pre>
su -c 'dd if=Fedora-16-x86_64-Live-Desktop.iso of=/dev/sd''X'' bs=8M'
</pre>


On "OS X" something like this should work:
: {{command|su -c "livecd-iso-to-disk --overlay-size-mb 2048 Fedora-Workstation-Live-x86_64-{{FedoraVersionNumber|next}}-1.1.iso /dev/sdX"}}
<pre>
sudo dd if=/Users/me/Downloads/Fedora-17-x86_64-DVD.iso of=/dev/disk999 bs=8388608
</pre>


Note that in these specific cases you want the device name (e.g. /dev/sdb or /dev/disk3) not the partition name (e.g. /dev/sdb1 or dev/disk3s1).
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.  
 
{{anchor|limited overlay}}
An equivalent for Windows is the [http://www.chrysocome.net/rawwrite RawWrite for Windows tool]. It should be capable of writing Fedora images much as described above, but this is not regularly tested.
{{admon/note | Limited Lifetime of Persistent Overlay | Due to the way it's currently implemented, every single change to this form of overlay (writes AND deletes) subtracts from its free space, so it will eventually be "used up" and your USB stick will no longer boot (see this [http://thread.gmane.org/gmane.linux.kernel.device-mapper.devel/14644 dm-devel discussion] and [[LiveOS_image#Overlay_recovery|this page]] for emergency recovery). You can use {{command|dmsetup status live-rw}} to see how much space remains in the overlay: the output will contain something like {{code|snapshot 42296/204800}}, indicating that 42296 of 204800 512-byte sectors are consumed. Because of these limitations, it is advisable to use the system-level persistence sparingly, for configuration changes and important security updates only. Or, if you have sufficient disk space available, changes to the LiveOS root filesystem snapshot can be merged into a new copy of the root filesystemSee [[LiveOS image#Merge overlay into new image|this page section]] for instructions.}}
 
In Fedora versions prior to {{FedoraVersion|long|17}}, a DVD image written to a USB stick with dd or an equivalent tool will function as a network installation image unless a special kernel parameter is added on boot: it will be capable of performing an installation, but it will need to retrieve packages from network repositories, it will not be able to use the packages present on the stick. To allow the installer to find the packages present on the stick, use the [[Anaconda/Options#repo|anaconda ''repo='' parameter]], pointing to the USB stick by its device node, label or UUID. DVD images of {{FedoraVersion|long|17}} do not suffer from this limitation.
 
==== Using the {{command|livecd-iso-to-disk}} tool ====
 
The {{command|livecd-iso-to-disk}} is the most capable and often most reliable method of writing a Fedora ISO image to a USB stick, but can only reliably be used from within Fedora. It does not work in Windows and is not supported (and will usually fail) in non-Fedora distributions. Please use the liveusb-creator tool, dd (or an equivalent tool), or a third-party tool such as unetbootin on other operating systems. It is also not a good idea to try and write a new Fedora release using the version of {{command|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.
 
{{command|livecd-iso-to-disk}} is usually available in the /LiveOS directory of the Live CD .iso file. You may loop mount the .iso, and procede as below, assured that you are using the version intended for your image:
 
Make a mount point:
$ su -c "mkdir /tmp/live"
 
Mount the .iso filesystem on your mount point:
  $ su -c "mount Fedora-16-x86_64-Live-Desktop.iso /tmp/live"


Confirm the availability of {{command|/LiveOS/livecd-iso-to-disk}}:
You can combine {{command|--home-size-mb}} and {{command|--overlay-size-mb}}, in which case data written to {{filename|/home}} will not exhaust the persistent overlay.
$ ls /tmp/live/LiveOS


If the {{command|livecd-iso-to-disk}} script is not listed, your will need to obtain it from another source.  Check if the livecd-tools RPM is installed with this command:
{{anchor|dd}}
rpm -q livecd-tools
=== Command line "direct write" method (most operating systems, non-graphical, destructive) ===
You will see the name of the RPM and a version number if it is installed, or no output if it is not installed.


If "livecd-tools" is not installed, install it using this command, or PackageKit:
{{admon/important | Destructive method | This method will destroy all data on the USB stick. If you need a non-destructive write method (to preserve existing data on your USB stick) and/or support for 'data persistence', you can use the [[#litd|livecd-iso-to-disk]] utility on Fedora.}}
$ su -c 'yum install livecd-tools'


Detailed usage information is available in the first pages of the [http://git.fedorahosted.org/git/?p=hosted/livecd;a=blob;f=tools/livecd-iso-to-disk.sh;hb=HEAD#l27 livecd-iso-to-disk script], which you can also see by running {{command|su -c 'livecd-iso-to-disk --help'}}. Basic examples follow.
This method direct writes the image to the USB stick much like [[#fmw|Fedora Media Writer]] or [[#gnome|GNOME Disk Utility]], but uses a command line utility named {{command|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 {{command|dd}} tool is available on most Unix-like operating systems, including Linux distributions and OS X, and [http://www.chrysocome.net/dd 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.


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:
# [[#device|Identify the name of the USB drive partition]]. If using this method on Windows, with the port linked above, the {{command|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 {{command|umount /dev/sdX*}}, where X is the appropriate letter, e.g. {{command|umount /dev/sdc*}}
# Write the ISO file to the device:
#: {{command|1=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 {{code|dd: invalid status flag: 'progress'}}, your dd version doesn't support the {{code|1=status=progress}} option and you'll need to remove it (and you won't see writing progress).


If {{command|livecd-iso-to-disk}} is available in the .iso filesystem,
{{anchor|unetbootin}}
$ su -c "/tmp/live/LiveOS/livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
=== Using [http://unetbootin.sourceforge.net/ UNetbootin] (Windows, OS X and Linux, graphical, non-destructive) ===
otherwise,
$ su -c "livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
(See [[#Data persistence|Data persistence]] below for how to create Live USB devices with more than temporary storage of user files and settings.)


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:
[[Image:Unetbootin_gtk3.png|thumb|right|Unetbootin screenshot]]
$ su -c "livecd-iso-to-disk --reset-mbr Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"


{{admon/warning | CAUTION | The following method will erase all data on the USB drive!  Please read the instructions below ''carefully''.}}
{{admon/warning | Reliability not assured | Following each release, Fedora support volunteers receive reports of problems with installation images created by UNetbootin. Using the most recent version of UNetbootin available has been known to improve results. UNetbootin may work in some cases but not others - for instance, it will likely create a stick that is bootable in BIOS mode, but not UEFI mode. Fedora cannot guarantee support for UNetbootin-written images.}}
If necessary, you can have {{command|livecd-iso-to-disk}} re-partition and re-format the target stick. This is similar to performing the manual re-partitioning and re-formatting steps described earlier in this guide.
$ su -c "livecd-iso-to-disk --format --msdos --reset-mbr Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"


=== UEFI boot of USB sticks ===
While your results may vary, it is usually the case that the [[#fmw|Fedora Media Writer]], [[#litd|livecd-iso-to-disk]], [[#gnome|GNOME]] and [[#dd|dd]] methods give better results than UNetbootin. If you encounter problems with UNetbootin, please contact the UNetbootin developers, not the Fedora developers.


Whether a Fedora image written to a USB stick will be bootable natively via UEFI is a somewhat complex question which depends on the Fedora release, the type of image (live or non-live), and the method used to write it. The {{command|--efi}} parameter to the {{command|livecd-iso-to-disk}} tool attempts to make a stick written with that tool natively UEFI bootable.
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.


As of {{FedoraVersion|long|17}}, all images written using the ''dd'' method should be UEFI-bootable, and all images written with {{command|livecd-iso-to-disk --format --reset-mbr --efi}} should also be UEFI-bootable. Use of {{command|--efi}} without {{command|--format}} and {{command|--reset-mbr}} can be considered a 'best effort', and may not produce a UEFI-bootable stick.
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.


=== Data persistence ===
# Download the latest UNetbootin version from [http://unetbootin.sourceforge.net/ the official site] and install it. On Linux, the download is an executable file: save it somewhere, change it to be executable (using {{command|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 [[#device|choose the correct device for your stick]]
# Click OK


Data persistence means that your files and settings will remain even after you reboot your live system. You can perform updates just like a regular installation to your hard disk, except that kernel updates require [[#Kernel updates|manual intervention]] and [[#limited overlay|overlay space may be insufficient]]. The primary use of this feature is booting a USB stick with your live image as well as the persistent changes. Note that you will need to have space on your target USB stick for the live image plus your overlay plus any other data you want on the stick.
{{admon/note | Drive not visible | If you do not see ''sdX'' listed, you might have to reformat the drive. You can do this from most file manager or disk utility tools, e.g. the GNOME disk utility ("Disks") on Fedora. The FAT32 format is most likely to result in a bootable stick. This will cause you to lose all data on the drive.}}


Use the ''Graphical Method'' described above to do this easily. There is a graphical slider in the interface you can use to assign space on the target stick for persistent storage.
=== Creating a USB stick from a running live environment ===
 
If using the {{command|livecd-iso-to-disk}} tool, add the {{command|--overlay-size-mb}} parameter to add a persistent data storage area to the target stick. For example:
<pre>
su -c "livecd-iso-to-disk --overlay-size-mb 512 Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
</pre>
 
where 512 is the desired size (in megabytes) of the overlay. The [[livecd-iso-to-disk]] tool will not accept an overlay size value greater than 2047 for VFAT, but for ext[234] filesystems it is only limited by the available space.
{{anchor|limited overlay}}
{{admon/note | Limited Lifetime of Persistent Overlay | One very important note about using the "primary" persistent overlay for system changes is that due to the way it's currently implemented (as a LVM copy-on-write snapshot), every single change to it (writes AND deletes) subtracts from its free space, so it will eventually be "used up" and your USB stick will no longer boot (see this [http://thread.gmane.org/gmane.linux.kernel.device-mapper.devel/14644 dm-devel discussion] and [http://wiki.sugarlabs.org/go/LiveOS_image#Overlay_recovery this page] for emergency recovery). Because of these limitations, it is advisable to use the system-level persistence sparingly, for configuration changes and important security updates only. For a truly persistent write-many (vs write-once) overlay, use the ''--home-size-mb'' option to create a home directory filesystem image for personal files. Unlike the primary system overlay image, the home.img can be re-used and loop mounted outside of the liveusb environment.}}
 
The persistent overlay status may be queried by issuing this command on the live system:
<pre>
dmsetup status live-rw
</pre>
The returned value may look like this:
<pre>
live-rw: 0 8388608 snapshot 42296/204800 176
</pre>
 
where the fraction after 'snapshot' for the logical volume is that of 512-byte sectors consumed in the overlay.
 
=== From a running Live CD/DVD/USB ===


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:
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/USBPARTITIONNAME"
: {{command|su -c "livecd-iso-to-disk /run/initramfs/livedev /dev/sdX"}}
 
: (For versions before Fedora 17, use {{Code|/dev/live}} instead of {{Code|/run/initramfs/livedev}}.)
 


== How to Boot a Live USB Drive ==
See [[#Mounting a Live USB filesystem|this section]] for mounting the root filesystem outside of a boot.


* Power off the computer.
== Troubleshooting ==
* Plug the USB drive into a USB port.
* Remove all other portable media, such as CD, DVD, or floppy disks.
* Power on the computer.
* If the computer is configured to automatically boot off of the USB drive, you will see a screen that says "Automatic boot in 10 seconds..." with a countdown.
* If the computer starts to boot off the hard drive, you'll need to manually configure it to boot off the USB drive.
** Wait for a safe point to reboot safely.
** As the machine starts to reboot, watch carefully for instructions on which key to press (usually a function key or Escape) to enter the boot device selection menu, or "BIOS setup".  Press and hold that key.  If you miss the window of opportunity (often only a few seconds) then reboot and try again.
** Use the BIOS setup 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.  '''Use caution!'''  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 the Live USB drive.


== Problems and solutions ==
=== Fedora Media Writer problems ===


=== liveusb-creator problems ===
* Bugs can be reported to [https://github.com/MartinBriza/MediaWriter/issues GitHub] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=mediawriter Bugzilla]. You can [http://bugz.fedoraproject.org/mediawriter browse existing Bugzilla reports]. Please report any problems you encounter that have not already been reported.


* Try the [http://fedorahosted.org/liveusb-creator/wiki/FAQ liveusb-creator FAQ].
=== livecd-iso-to-disk problems ===
* Bugs are tracked in [https://fedorahosted.org/liveusb-creator/ Trac] - see e.g. [https://fedorahosted.org/liveusb-creator/report/1 existing tickets].  Please [https://fedorahosted.org/liveusb-creator/newticket open a new ticket] if you encounter any problems that have not already been reported.
* The [https://fedorahosted.org/mailman/listinfo/liveusb-creator liveusb-creator mailing list] has [https://fedorahosted.org/pipermail/liveusb-creator/ archives] which may also be useful.


=== Partition isn't marked bootable! ===
==== Partition isn't marked bootable! ====


If you get the following message, you need to mark the partition bootable.
If you get the message {{code|Partition isn't marked bootable!}}, you need to mark the partition bootable. To do this, run {{command|su -c 'parted /dev/sdX'}}, and use the {{code|toggle N boot}} command, where X is the appropriate letter and N is the partition number. For example:
<pre>
$ su -c "livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
Partition isn't marked bootable!
You can mark the partition as bootable with
    $ /sbin/parted /dev/sdb
    (parted) toggle N boot
    (parted) quit
Cleaning up to exit...
</pre>
 
To mark the partition bootable, run parted, and use the 'toggle X boot' command. For example:
<pre>
<pre>
$ parted /dev/sdb
$ parted /dev/sdb
Line 313: Line 208:
(parted) print                                                             
(parted) print                                                             
Model: Imation Flash Drive (scsi)
Model: Imation Flash Drive (scsi)
Disk /dev/sdb: 1062MB
Disk /dev/sdX: 1062MB
Sector size (logical/physical): 512B/512B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Partition Table: msdos
Line 323: Line 218:
(parted) print                                                     
(parted) print                                                     
Model: Imation Flash Drive (scsi)
Model: Imation Flash Drive (scsi)
Disk /dev/sdb: 1062MB
Disk /dev/sdX: 1062MB
Sector size (logical/physical): 512B/512B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Partition Table: msdos
Line 334: Line 229:
</pre>
</pre>


=== Partitions need a filesystem label! ===
==== Partitions need a filesystem label! ====


If you get the following message, you need to label the partition.
If you get the message {{code|Need to have a filesystem label or UUID for your USB device}}, you need to label the partition: {{command|su -c "dosfslabel /dev/sdX LIVE"}}
<pre>
$ su -c "livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
Need to have a filesystem label or UUID for your USB device
Label can be set with /sbin/dosfslabel
Cleaning up to exit...
</pre>


To label the partition:
==== Partition has different physical/logical endings! ====
<pre>
su -c "dosfslabel /dev/USBPARTITIONNAME LIVE"
</pre>


=== 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 {{code|--format}} when writing the stick.


If you get this message from fdisk, you may need to reformat the flash drive, as described earlier in this guide.
==== MBR appears to be blank! ====


=== MBR appears to be blank! ===
If your test boot reports a corrupted boot sector, or you get the message {{code|MBR appears to be blank.}}, you need to install or reset the master boot record (MBR), by passing {{code|--reset-mbr}} when writing the stick.


If your test boot reports a corrupted boot sector, or you get the following message, you need to install or reset the master boot record (MBR).
==== livecd-iso-to-disk on other Linux distributions ====
<pre>
$ su -c "livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
MBR appears to be blank.
You can add an MBR to this device with
Cleaning up to exit...
</pre>


To install or reset MBR:
{{command|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 {{command|livecd-iso-to-disk}} on any distribution other than Fedora is unsupported and not expected to work: please use an alternative method, such as [[#fmw|Fedora Media Writer]].
$ su -c "livecd-iso-to-disk --reset-mbr Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"


=== Issues using other Linux distributions ===
=== Ubuntu's ''usb-creator'' ===
Ubuntu and derivative Linux distributions have a usb-creator program similar to Live USB Creator. 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.


The livecd-iso-to-disk script 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 described above.
Ubuntu and derivative Linux distributions have a {{command|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 {{filename|/.disk/info}} file and a casper directory. Do not attempt to use this utility to write a Fedora ISO image.


== Testing Live Image on USB ==
== Testing a USB stick using qemu ==


You can test your Live Image on USB using QEMU as shown in the screenshot below.
You can test your stick using QEMU as shown in the screenshot below.


  [[Image:FedoraLiveCD_USBHowTo_usb_flash_with_qemu.png|thumb]]
  [[Image:Screenshot_qemu_gtk3.png‎|thumb]]


For example, if your USB flash drive is {{filename|/dev/sdb}}, you could type the following commands:
For example, you could type the following commands:
<pre>
<pre>
su -c 'umount /dev/sdb1'
su -c 'umount /dev/sdX1'
qemu -hda /dev/sdb -m 1024 -vga std
qemu -hda /dev/sdX -m 1024 -vga std
</pre>
</pre>
== Mounting a Live USB filesystem ==
== Mounting a Live USB filesystem ==


You can use the [http://git.fedorahosted.org/git?p=hosted/livecd;a=blob_plain;f=tools/liveimage-mount;hb=HEAD '''''liveimage-mount'''''] script in the {{package|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.
You can use the [https://github.com/rhinstaller/livecd-tools/blob/master/tools/liveimage-mount ''liveimage-mount''] script in the {{package|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 ==
== Kernel updates for ''livecd-iso-to-disk''-written images with a persistent overlay ==


If you have [[#limited overlay|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 either the /mnt/live or /run/initramfs/live mount point. The new initramfs (such as initramfs-3.3.2-6.fc16.x86_64.img) and kernel (such as vmlinuz-3.3.2-6.fc16.x86_64) should be moved to replace the /mnt/live/syslinux/initrd0.img and /mnt/live/syslinux/vmlinuz0 files, respectively.
If you have [[#limited overlay|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''': Beginning with Fedora 17, [[dracut]] no longer includes the dmsquash-live module by default. So one should include it in {{Code|/etc/dracut.conf}} with, for example,<br><pre># echo 'add_dracutmodules+=" dmsquash-live "' >> /etc/dracut.conf</pre>
* '''Note''': ''[[dracut]]'' no longer includes the ''dmsquash-live'' module by default. Starting with Fedora 19, ''dracut'' defaults to the {{command|hostonly&#61;"yes"}} option, which precludes the ''dmsquash-live'' module. So, one can add a dracut config file, as root, before updating the kernel:
<pre>
echo 'hostonly="no"
add_dracutmodules+=" dmsquash-live "
compress="xz"' > /etc/dracut.conf.d/01-liveos.conf
</pre>


The following commands will move the new kernel and initramfs files and create symbolic links to them, in case one later wants to perform a full install of the image to a hard disk. 
The following commands will move the new kernel and initramfs files to the device's /syslinux directory:
bootpath=run/initramfs/live/syslinux
<pre>
# bootpath=mnt/live/syslinux
bootpath=run/initramfs/live/syslinux
new=3.3.2-6.fc16.x86_64
new=3.12.5-302.fc20.x86_64


cd /
cd /
mv -f boot/vmlinuz-$new ${bootpath}/vmlinuz0
mv -f boot/vmlinuz-$new ${bootpath}/vmlinuz0
mv -f boot/initramfs-${new}.img ${bootpath}/initrd0.img
mv -f boot/initramfs-${new}.img ${bootpath}/initrd0.img
&nbsp;
</pre>
ln -fs -T ../${bootpath}/vmlinuz0 boot/vmlinuz-$new
ln -fs -T ../${bootpath}/initrd0.img boot/initramfs-${new}.img


== See also ==
{{admon/note | Fedora Guide | The procedure documented in this guide is also detailed at http://docs.fedoraproject.org/readme-burning-isos/ . The Guide may have different content, and be more or less detailed. If you edit this page or find a problem with the Guide, please also file a bug against the guide to have its content updated.}}
[http://www.redhatmagazine.com/2007/11/07/i-am-fedora-and-so-can-you/ Red Hat Magazine | I am Fedora, and so can you!]


== References ==
<noinclude>
 
[[Category:LiveMedia]]
* http://www.redhat.com/archives/fedora-test-list/2007-May/msg00308.html
</noinclude>
* http://www.redhat.com/archives/fedora-livecd-list/2007-April/msg00029.html

Revision as of 13:47, 25 November 2016

Mediawriter-icon.png

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

Fedora Media Writer screenshot

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.

Important.png
Destructive method
This method will destroy all data on the USB stick. If you need a non-destructive write method (to preserve existing data on your USB stick) and/or support for 'data persistence', you can use the livecd-iso-to-disk utility on Fedora.

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 Package-x-generic-16.pngmediawriter package, or use the command line:

su -c 'dnf 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. When you start Fedora Media Writer, the three dots in the bottom will be flashing while the tool checks for a new Fedora release.

To write the stick:

  1. 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.
  2. Ensure your USB stick is plugged into the system.
  3. Click Create Live USB.
  4. Ensure the right stick is selected.
  5. Click Write to disk and wait for the write to complete.
  6. Once the stick has been written, shut the system down and boot it from the USB stick (see the Booting section).

After writing, your USB stick will have a changed partition layout and some systems may report it to be about 10MB large. To return your USB stick to its factory configuration, insert the drive again while Fedora Media Writer is running. The app provides you with an option to restore to the factory layout. This layout includes a single VFAT partition.

Booting from USB sticks

Set USB as first boot device. Your BIOS may be different.

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:

  1. Power off the computer.
  2. Plug the USB drive into a USB port.
  3. Remove all other portable media, such as CDs, DVDs, floppy disks or other USB sticks.
  4. Power on the computer.
  5. 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:

  1. Wait for a safe point to reboot.
  2. 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.
  3. 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.
  4. 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:

Properties USB size.png

Identifying a stick by /dev name on Linux

Most of the alternative writing methods will require you to know the /dev name for your USB stick - e.g. /dev/sdc - when using them on Linux. You do not need to know this in order to use Fedora Media Writer. To find this out:

  1. Insert the USB stick into a USB port.
  2. Open a terminal and run dmesg.
  3. 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.

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)

Important.png
Destructive method
This method will destroy all data on the USB stick. If you need a non-destructive write method (to preserve existing data on your USB stick) and/or support for 'data persistence', you can use the livecd-iso-to-disk utility on Fedora.

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 Package-x-generic-16.pngnautilus and Package-x-generic-16.pnggnome-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.

  1. Download a Fedora image, choose a USB stick that does not contain any data you need, and connect it
  2. Run Nautilus (Files) - for instance, open the Overview by pressing the Start/Super key, and type Files, then hit enter
  3. Find the downloaded image, right-click on it, go to Open With, and click Disk Image Writer
  4. Double-check you're really, really sure you don't need any of the data on the USB stick!
  5. Select your USB stick as the Destination, and click Start Restoring...

Command line method: Using the livecd-iso-to-disk tool (Fedora only, non-graphical, both non-destructive and destructive methods available)

Important.png
Potentially destructive method
This method will destroy all data on the USB stick if the --format parameter is passed.

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:

  1. 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.
  2. 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.
  3. 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 Package-x-generic-16.pnglivecd-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-40-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-40-1.1.iso /dev/sdX"
Warning.png
CAUTION:
Using the --format option in the following command will erase all data on the USB drive! Please read the instructions below carefully.

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-40-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-40-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-40-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.

Note.png
Limited Lifetime of Persistent Overlay
Due to the way it's currently implemented, every single change to this form of overlay (writes AND deletes) subtracts from its free space, so it will eventually be "used up" and your USB stick will no longer boot (see this dm-devel discussion and this page for emergency recovery). You can use dmsetup status live-rw to see how much space remains in the overlay: the output will contain something like snapshot 42296/204800, indicating that 42296 of 204800 512-byte sectors are consumed. Because of these limitations, it is advisable to use the system-level persistence sparingly, for configuration changes and important security updates only. Or, if you have sufficient disk space available, changes to the LiveOS root filesystem snapshot can be merged into a new copy of the root filesystem. See this page section for instructions.

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)

Important.png
Destructive method
This method will destroy all data on the USB stick. If you need a non-destructive write method (to preserve existing data on your USB stick) and/or support for 'data persistence', you can use the livecd-iso-to-disk utility on Fedora.

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.

  1. 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.
  2. 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*
  3. Write the ISO file to the device:
    su -c 'dd if=/path/to/image.iso of=/dev/sdX bs=8M status=progress oflag=direct'
  4. 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)

Unetbootin screenshot
Warning.png
Reliability not assured
Following each release, Fedora support volunteers receive reports of problems with installation images created by UNetbootin. Using the most recent version of UNetbootin available has been known to improve results. UNetbootin may work in some cases but not others - for instance, it will likely create a stick that is bootable in BIOS mode, but not UEFI mode. Fedora cannot guarantee support for UNetbootin-written images.

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.

  1. 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.
  2. Launch UNetbootin. On Linux, you might have to type the root password.
  3. Click on Diskimage and search for the ISO file you downloaded.
  4. Select Type: USB drive and choose the correct device for your stick
  5. Click OK
Note.png
Drive not visible
If you do not see sdX listed, you might have to reformat the drive. You can do this from most file manager or disk utility tools, e.g. the GNOME disk utility ("Disks") on Fedora. The FAT32 format is most likely to result in a bootable stick. This will cause you to lose all data on the drive.

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

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.

Screenshot qemu gtk3.png

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 Package-x-generic-16.pnglivecd-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
Note.png
Fedora Guide
The procedure documented in this guide is also detailed at http://docs.fedoraproject.org/readme-burning-isos/ . The Guide may have different content, and be more or less detailed. If you edit this page or find a problem with the Guide, please also file a bug against the guide to have its content updated.