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.
系统需求
- 一台使用GNU/Linux, Windows 或者 MacOS的电脑
- 一个拥有1G以上存储空间的 USB闪存设备, 像U盘、存储卡等。
- 一个Fedora镜像文件,你可以从http://fedoraproject.org/get-fedora 下载
你的电脑是否允许从USB设备启动
鉴于不同的BIOS的功能有所差别,部分电脑不能USB启动。如果你恰好在此列,考虑其他安装介质(光盘、硬盘等)。如果你不确定是否能够USB启动,又不介意下载并刻录Fedora镜像到你的USB设备(可能会擦除你的数据),不妨一试,最多浪费一点时间
If your USB stick is not in working order, this procedure may fail. Watch for error messages during the process.
Sufficiently large USB stick
Many USB sticks indicate the size on the packaging or the outside of the stick.
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 df -h
:
$ 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
USB drives are usually mounted in /media
or /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.
Take note of /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.
Optional: re-partition and format your USB stick
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.
If you have any trouble trying the non-destructive installation path, try first to reset the master boot record, MBR, with the --reset-mbr
option.
Occasionally, a filesystem can be damaged and re-partitioning and re-formatting before writing the stick may be necessary. Otherwise, it is recommended to keep the factory formatting of flash media devices.
How to re-partition
If the drive has not been partitioned properly (or if you are unsure), use fdisk
to repartition it.
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:
su -c 'fdisk /dev/sdb'
If you don't have fdisk installed, run su -c 'yum install util-linux-ng'
to install it.
The following session output from fdisk
shows the responses to give to the prompts. The line starting Last cylinder ...
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).
Command (m for help): '''d''' 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.
How to re-format
To finish, the partition must be formatted with an actual file system using mkfs.vfat
as the root user. Unmount the device before using mkfs.vfat
. In the below example, /dev/USBPARTITIONNAME
might be, for example, /dev/sdb1
. Be sure to select the correct partition; formatting destroys all data on it!
su -c 'umount /dev/USBPARTITIONNAME' su -c 'mkfs.vfat -F 32 -n usbdisk /dev/USBPARTITIONNAME'
If you don't have mkfs.vfat installed, run "yum install dosfstools" as root.
Download an ISO
(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.)
You can use BitTorrent or your web browser to download a bootable image, or ISO, which you will install on your USB drive.
Quick links:
- Supported releases
- Pre-releases (Alpha and Beta; redirects to previous supported release during pre-Alpha phase)
- Nightly test composes
You are looking for a file with "Live" in the name, usually of the form Fedora-<version>-<architecture>-Live-Desktop.iso
. For example, Fedora-41-x86_64-Live-Desktop.iso
is the F41 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.
These instructions will also work for 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.)
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) except for the kernel. See Releases/Rawhide for more information about daily builds.
The nightly test composes will be built from the Branched release when there is one, and from Rawhide when there is no Branched.
Write the stick
Graphical Method - Windows or Fedora
Fedora USB sticks can be created in Windows and Linux using the 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.
For Windows using the following steps:
- Download liveusb-creator from the site
- 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:
su -c 'yum install liveusb-creator'
To start, run 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 Line Methods
In the following examples, replace /path/to/ISO
with e.g. Fedora-16-x86_64-Live-Desktop.iso
or the full path to the ISO you downloaded, e.g. /tmp/Fedora-16-x86_64-Live-Desktop.iso
.
Replace /dev/USBPARTITIONNAME
with the appropriate partition name. For example, /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!
Both of these methods work with all Fedora images, not just live images: you can use dd
or 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 dd
.
Using dd for a direct copy
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.
su -c 'dd if=Fedora-16-x86_64-Live-Desktop.iso of=/dev/sd''X'' bs=8M'
On "OS X" something like this should work:
sudo dd if=/Users/me/Downloads/Fedora-17-x86_64-DVD.iso of=/dev/disk999 bs=8388608
Note that in this specific case you want the device name (e.g. /dev/sdb) not the partition name (e.g. /dev/sdb1).
An equivalent for Windows is the RawWrite for Windows tool. It should be capable of writing Fedora images much as described above, but this is not regularly tested.
In Fedora versions prior to Fedora 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 repo= parameter, pointing to the USB stick by its device node, label or UUID. DVD images of Fedora 17 do not suffer from this limitation.
Using the livecd-iso-to-disk
tool
The 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 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.
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 /LiveOS/livecd-iso-to-disk
:
$ ls /tmp/live/LiveOS
If the 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:
rpm -q livecd-tools
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:
$ su -c 'yum install livecd-tools'
Detailed usage information is available in the first pages of the livecd-iso-to-disk script, which you can also see by running su -c 'livecd-iso-to-disk --help'
. Basic examples follow.
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:
If livecd-iso-to-disk
is available in the .iso filesystem,
$ su -c "/tmp/live/LiveOS/livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
otherwise,
$ su -c "livecd-iso-to-disk Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
(See 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:
$ su -c "livecd-iso-to-disk --reset-mbr Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
If necessary, you can have 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
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 --efi
parameter to the livecd-iso-to-disk
tool attempts to make a stick written with that tool natively UEFI bootable.
As of Fedora 17, all images written using the dd method should be UEFI-bootable, and all images written with livecd-iso-to-disk --format --reset-mbr --efi
should also be UEFI-bootable. Use of --efi
without --format
and --reset-mbr
can be considered a 'best effort', and may not produce a UEFI-bootable stick.
Data persistence
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 manual intervention and 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.
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.
If using the livecd-iso-to-disk
tool, 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 512 Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
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.
The persistent overlay status may be queried by issuing this command on the live system:
dmsetup status live-rw
The returned value may look like this:
live-rw: 0 8388608 snapshot 42296/204800 176
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:
su -c "livecd-iso-to-disk /run/initramfs/livedev /dev/USBPARTITIONNAME"
- (For versions before Fedora 17, use /dev/live instead of /run/initramfs/livedev.)
How to Boot a Live USB Drive
- Power off the computer.
- 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
liveusb-creator problems
- Try the liveusb-creator FAQ.
- Bugs are tracked in Trac - see e.g. existing tickets. Please open a new ticket if you encounter any problems that have not already been reported.
- The liveusb-creator mailing list has archives which may also be useful.
Partition isn't marked bootable!
If you get the following message, you need to mark the partition bootable.
$ 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...
To mark the partition bootable, run parted, and use the 'toggle X boot' command. 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/sdb: 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/sdb: 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 following message, you need to label the partition.
$ 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...
To label the partition:
su -c "dosfslabel /dev/USBPARTITIONNAME LIVE"
Partition has different physical/logical endings!
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!
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).
$ 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...
To install or reset MBR:
$ su -c "livecd-iso-to-disk --reset-mbr Fedora-16-x86_64-Live-Desktop.iso /dev/USBPARTITIONNAME"
Issues using other Linux distributions
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.
Testing Live Image on USB
You can test your Live Image on USB using QEMU as shown in the screenshot below.
For example, if your USB flash drive is /dev/sdb
, you could type the following commands:
su -c 'umount /dev/sdb1' qemu -hda /dev/sdb -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
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 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.
- Note: Beginning with Fedora 17, dracut no longer includes the dmsquash-live module by default. So one should include it in /etc/dracut.conf with, for example,
# echo 'add_dracutmodules+=" dmsquash-live "' >> /etc/dracut.conf
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.
bootpath=run/initramfs/live/syslinux # bootpath=mnt/live/syslinux new=3.3.2-6.fc16.x86_64
cd / mv -f boot/vmlinuz-$new ${bootpath}/vmlinuz0 mv -f boot/initramfs-${new}.img ${bootpath}/initrd0.img ln -fs -T ../${bootpath}/vmlinuz0 boot/vmlinuz-$new ln -fs -T ../${bootpath}/initrd0.img boot/initramfs-${new}.img
See also
Red Hat Magazine | I am Fedora, and so can you!