创建及使用即时 (Live) 安装镜像
Downloading Fedora
You can download Fedora from https://fedoraproject.org/.
There are multiple desktops available for use with Fedora. Each has a slightly different look and feel and offers varying levels of customization. You can use the Fedora Workstation image, which comes with the GNOME desktop by default, and then change your environment afterwards by installing additional packages, or you can download a spin image which will give you a different environment out of the box. Visit Fedora Spins for more information.
You can also take advantage of Fedora Labs. Fedora Labs is a selection of curated bundles of purpose-driven software and content as curated and maintained by members of the Fedora Community. These may be installed as standalone full versions of Fedora or as add-ons to existing Fedora installations. Visit Fedora Labs for details. @
|
Please refer to Fedora Getting Started Guide for getting help on the process of installing Fedora. |
Creating and using live USB
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.
Using Fedora Media Writer
The official and supported tool to create a Fedora USB stick is the Fedora Media Writer utility, which was formerly known as LiveUSB Creator. See Fedora Media Writer guide in Fedora User Documentation overview.
|
Fedora Media Writer destroys all data on the USB stick. If you need a non-destructive write method (to preserve existing data on your USB stick) or support for 'data persistence', you can use the livecd-iso-to-disk utility on Fedora. |
Using GNOME Disks
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 considered unsupported. You can use it on your own risk. |
This method is for people running Linux, or another unix with GNOME, Nautilus, and GNOME Disks installed. Particularly, if you are using a distribution other than Fedora which does not support Flatpak, this may be the easiest available method. A standard installation of Fedora, or a standard GNOME installation of many other distributions, should be able to use this method. On Fedora, ensure the packages nautilus and gnome-disk-utility are installed. Similar graphical direct-write tools may be available for other desktops, or you may use the command-line direct write method.
-
Download a Fedora image, choose a USB stick that does not contain any data you need, and connect it.
-
Run Nautilus (Files), open the Overview by pressing the Start/Super key, type Files, and hit kbd:[Enter].
-
Find the downloaded image, right-click on it, go to Open With, and click Disk Image Writer.
-
Select your USB stick as the Destination, and click Start Restoring.
Command line methods
|
These methods are considered unsupported. You can use them on your own risk. |
Using the livecd-iso-to-disk tool
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 macOS, and is not supported (and will usually fail) in non-Fedora distributions. However, it supports three advanced features which FMW does not include:
-
You may use a non-destructive method to create the stick, meaning existing files on the stick will not be destroyed. This is less reliable than the destructive write methods, and should be used only if you have no stick you can afford to wipe.
-
On live images, you can include a feature called a persistent overlay, which allows changes made to persist across reboots. You can perform updates just like a regular installation to your hard disk, except that kernel updates require manual intervention and overlay space may be insufficient. Without a persistent overlay, the stick will return to a fresh state each time it is booted.
-
On live images, you can also have a separate area to store user account information and data such as documents and downloaded files, with optional encryption for security and peace of mind.
By combining these features, you can carry your computer with you in your pocket, booting it on nearly any system you find yourself using.
It is not a good idea to try and write a new Fedora release using the version of livecd-iso-to-disk in a much older Fedora release: it is best to only use a release a maximum of two versions older than the release you are trying to write.
Ensure the livecd-tools package is installed: dnf install livecd-tools.
|
Remember to identify your USB stick’s device name first. In all cases, you can add the parameter 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:
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:
|
Using the --format option in the following command will erase all data on the USB drive.
|
If necessary, you can have livecd-iso-to-disk re-partition and re-format the target stick:
# livecd-iso-to-disk --format --reset-mbr Fedora-Workstation-Live-x86_64-42-1.1.iso /dev/sdX
To include a persistent filesystem for /home, use the --home-size-mb parameter. For example:
# livecd-iso-to-disk --home-size-mb 2048 Fedora-Workstation-Live-x86_64-42-1.1.iso /dev/sdX
This will create a 2 GiB 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:
# livecd-iso-to-disk --overlay-size-mb 2048 Fedora-Workstation-Live-x86_64-42-1.1.iso /dev/sdX
Here, 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.
|
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. You can use The output will contain something like snapshot |
You can combine --home-size-mb and --overlay-size-mb, in which case data written to /home will not exhaust the persistent overlay.
Using a direct write 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 |
This method directly 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 macOS, and a Windows port is available. This may be your best method if you cannot use Fedora Media Writer or GNOME Disk Utility, or just if you prefer command line utilities and want a simple, quick way to write a stick.
-
Identify the name of the USB drive partition. If using this method on Windows, with the port linked above, the
dd --listcommand should provide you with the correct name. -
Unmount all mounted partition from that device. This is very important, otherwise the written image might get corrupted. You can umount all mounted partitions from the device with
umount /dev/sdX*, whereXis the appropriate letter, e.g.umount /dev/sdc*. -
Write the ISO file to the device:
# dd if=/path/to/image.iso of=/dev/sdX bs=8M status=progress oflag=direct -
Wait until the command completes.
If you see dd: invalid status flag: 'progress', your dd version doesn’t support thestatus=progressoption and you’ll need to remove it. In this case, you won’t see writing progress.
Using UNetbootin for Windows, macOS, and Linux
|
This method is considered unsupported. You can use it on your own risk. |
|
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, |
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. |
-
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+xfilename or a file manager, and then run it. -
Launch UNetbootin. On Linux, you might have to type the root password.
-
Click on
Diskimageand search for the ISO file you downloaded. -
Select Type: USB drive and choose the correct device for your stick.
-
Click OK.
| 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:
# livecd-iso-to-disk /run/initramfs/livedev /dev/sdX"
NOTE: This method will no longer be effective for Fedora 37 and later versions. As of Fedora 37, the syslinux (isolinux) booting method has been entirely removed.
Booting from USB sticks
Almost all modern PCs can boot from USB sticks. However, how you tell the system to boot from a USB stick varies substantially from system to system. Initially, you can try this:
-
Power off the computer.
-
Plug the USB drive into a USB port.
-
Remove all other portable media, such as CDs, DVDs, floppy disks or other USB sticks.
-
Power on the computer.
-
If the computer is configured to automatically boot from the USB drive, you will see a screen that says "Automatic boot in 10 seconds…" with a countdown.
If 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 like this:
-
Wait for a safe point to reboot.
-
As the machine starts to reboot, watch carefully for instructions on which key to press. Usually a function key,
Escape,Tab,F11,F12orDeleteis to be pressed to enter the boot device selection menu,BIOS setup,firmware, orUEFI. Press and hold that key. If you miss the window of opportunity, often only a few seconds, then reboot and try again. (If this does not work, consult the manual of your computer) -
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.Your computer could become unbootable or lose functionality if you change any other settings. Though these settings can be reverted, you’ll need to remember what you changed in order to do so. -
Save the changes, exit, and the computer should boot from the USB drive.
If your system has a UEFI firmware, it will usually allow you to boot the stick in UEFI native mode or BIOS compatibility mode. If you boot in UEFI native mode and perform a Fedora installation, you will get a UEFI native Fedora installation. If you boot in BIOS compatibility mode and perform a Fedora installation, you will get a BIOS compatibility mode Fedora installation.
For more information on all this, see the UEFI page. USB sticks written from x86_64 images with Fedora Media Writer, GNOME Disk Utility, dd, other dd-style utilities 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.
Identifying a stick on Linux
Most of the 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:
-
Insert the USB stick into a USB port.
-
Open a terminal and run
dmesg. -
Near the end of the output, you will see something like:
[32656.573467] sd 8:0:0:0: [sdX] Attached SCSI removable disk
sdXwill besdb,sdc,sdd, etc.
|
This is the name of the disk you will use. We’ll call it |
Troubleshooting a live USB
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, runparted /dev/sdX, and use thetoggle Nboot command, whereXis the appropriate letter, andNis 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 labelorUUIDfor your USB device, you need to label the partition: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
--formatwhen 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-mbrwhen writing the stick. - livecd-iso-to-disk on other Linux distributions
-
livecd-iso-to-diskis 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 oflivecd-iso-to-diskon any distribution other than Fedora is unsupported and not expected to work: please use an alternative method, such as Fedora Media Writer.
Testing a USB stick using qemu
You can test your stick using QEMU.
# umount /dev/sdX1 $ qemu -hda /dev/sdX -m 1024 -vga std
Mounting a Live USB filesystem
You can use the liveimage-mount script in the livecd-tools package to mount an attached Live USB device or other LiveOS image, such as an ISO or Live CD. This is convenient when you want to copy in or out some file from the LiveOS filesystem on a Live USB, or just examine the files in a Live ISO or Live CD.
Creating and using live CD
We will use Fedora release 42 exemplary in all command examples. If you need to do it for a different release, just change the number accordingly.
Getting started
To create a live image, the livecd-creator and mock packages are used. For this, super user privileges are needed.
The livecd-creator tool is part of the _livecd-tools_package. If it is not installed on your system, add it and all other tools like mock, lorax, git, pykickstart and a text editor with DNF:
# dnf install livecd-tools mock
Hint: We are creating a livecd like the fedora-live-workstation image, which is totally localized, but has english as default. There is no need to install any localization support on your own. You can change it in the created kickstart.cfg if necessary.
Configuring your system
We need to add you current user to the mock group, or you need to do anything as root user.
# sudo usermod -aG mock $(whoami)
The $(whoami) adds your current user, as we do not know what username you are currently using ;)
A relogin to make the change effective, would be wise, or you switch to root now.
Let’s create the mock group:
# newgrp mock
If you now enter:
# groups
it shall output your username together with the old groups and the new group "mock". If this is not the case, you did something wrong.
Creating your build environment
Now we can init the build environment. In this example we use the most likely x86_64, but if you build it for ARM or PowerPC, you can just use a different config by changing the ARCH-Type to the desired plattform!
# mock -r /etc/mock/fedora-42_x86_64.cfg --init
Mock creates us an empty toolbox for this, so we need to fill it with packages, which we will need to create the image later in the process. If you now think "Why so complicated?" you are only partly right, as a toolbox is a simple container, which we need to seperate the work for different releases of Fedora, otherwise you have to overwrite and mixing different builds on your own.
Make sure you have enogh free disk space for all these files and the ones, the livemedia-creator will download later. We suggest at least 10 GB free diskspace for this.
# mock -r /etc/mock/fedora-42_x86_64.cfg --install lorax anaconda git pykickstart vim lorax anaconda git pykickstart vim libblockdev-lvm libblockdev-btrfs libblockdev-swap libblockdev-loop libblockdev-crypto libblockdev-dm libblockdev-mdraid libblockdev-part libblockdev-fs libblockdev-nvme libblockdev-mpath
If you wanne use a different texteditor then "vim", you need to install it now, otherwise you are stuck to a not so well integrated basic "vim" installation, which will be a bit unpleasent to use. Don’t panic, we don’t do much editing inside the toolbox, vim will do :)
Now we enter the toolbox for the first time …
# mock -r /etc/mock/fedora-42_x86_64.cfg --shell --isolation=simple --enable-network
This gives us a shell and networksupport, so the scripts inside the toolbox can access the internet and install packages from the repo.
You will see something like this output:
INFO: mock.py version 6.3 starting (python version = 3.13.7, NVR = mock-6.3-1.fc42), args: /usr/libexec/mock/mock -r fedora-42-x86_64 --shell --isolation=simple --enable-network Start(bootstrap): init plugins INFO: selinux enabled Finish(bootstrap): init plugins Start: init plugins INFO: selinux enabled Finish: init plugins INFO: Signal handler active Start: run Start(bootstrap): chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Package manager dnf5 detected and used (fallback) Finish(bootstrap): chroot init Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (direct choice) Finish: chroot init Start: shell <mock-chroot> sh-5.2#
Now we need to download the kickstart files, which previouse Fedora releases had as a package, from the Fedora Servers:
# git clone https://pagure.io/fedora-kickstarts -b f42
You can access the page with a normal browser, to see which tags aka 'branches' like "f42" are available, in case you wanne do another version. What happens now is a git checkout into the current directory of your toolbox. Big advantage: no danger of overwriting files on your os.
ATTENTION: before you continue, make sure you have at least 10 GB of free storage on your systems partition as we will download a lot of rpms and create an image that is at least 2,3 GB in size. If you don’t have enough space, all future steps can faill with the wildest error messages and your will waste A LOT of time with it!
What we now need is a kickstart file. Never heared of it, don’t panic :D
A kickstart file contains informations about the size of the tmp drive in the later started live image, it mounts, its packages and so on. You will not need to reinvent the wheel, relax. Here is an example:
%include fedora-live-workstation.ks %packages # Packages we want to have thunderbird # Package groups excluded from @workstation-product-environment -@guest-desktop-agents -@libreoffice -@multimedia # Packages excluded from @workstation-product -rhythmbox -unoconv # Packages excluded from @gnome-desktop -gnome-boxes -gnome-connections -gnome-text-editor -baobab -cheese -gnome-clocks -gnome-logs -gnome-maps -gnome-photos -gnome-remote-desktop -gnome-weather -orca -rygel -totem %end
What you see is a subsection of all possible options, because that git checkout before, downloaded a full set of already working kickstart files, which we will join up to one new kickstart.cfg file.
The above file will remove packages and groups of packages from the later created image, compared to the normal Fedora-Live-Workstation image. We call this a DELTA-file, because we just define the differences between our image and the original Fedora Live Workstation image.
You see this:
%include fedora-live-workstation.ks
This includes the original kickstart (ks) config for the original Fedora-Live-Workstation Image as a base file. The rest of the lines "overwrite" the sections in the original file. So you just tell kickstart what you want and not want compared to the Fedora-Live-Workstation image.
Building the kickstart files
In this example, we removed some gnome-apps and end up what you know as "Fedora-Minimal-Workstation" Image.
Take that example and save it to a file you can name i.E. "example-START.ks". Make sure you can distingish your file later as the starting point of your work. Because now, we will "join" aka. "flatten" the included files to one big kickstart.cfg file, that we will need for livemedia-creator later.
$ ksflatten -c as-you-like-START.ks -o kickstart.cfg
The problem you are now facing is, it doesn’t work out-of-box, because ksflatten does not find all the includes it needs. You can solve this in two ways:
a) you move your ks file to the directory named "fedora-kickstarts" and switch to it with cd, or
b) you execute the above command and copy all files it names in the errormessage from "fedora-kickstarts" to "." untill it stops complaining.
From now on, you should only edit the created kickstart.cfg file for changes, otherwise you have to repeat the next step over and over again.
Fixing the "Mount"-bug
Either way, you end up with a defective cfg file, because the used include files define the mountpoint "/" two times, which lead to an error. That’s easily fixed:
# vim kickstart.cfg
search for "# Disk partitioning information" and change the two lines, that start with "part /" to this ONE line:
part / --fstype="ext4" --size=8576
We will try to fix this, but it could take until Fedora 45.
Creating the ISO
Now the part you are waiting for: Let’s create the iso image.
livemedia-creator --ks kickstart.cfg --no-virt --resultdir /var/lmc --project MYPROJECTNAME --make-iso --volid MY_ID --iso-only --iso-name <FILENAME>.iso --releasever 42 --macboot
Please replace the folling terms:
"MYPROJECTNAME" That is your internal project name, that ends up in /etc/os-release "MY_ID" that is the name of the mounted ISO file AND VERY IMPORTANT if you wanne refer to that iso in GRUB "<FILENAME>" thats the name of the created iso file unter /var/lmc
In approximitly 15 minutes, if everything works, you have a created <filename>.iso image IN YOUR TOOLBOX.
To get it out there, you enter …
# exit
and copy it to the desired place. In example:
# cp /var/lib/mock/fedora-42-x86_64/root/var/lmc/<filename>.iso /home/themasteruser/Downloads/Images/
Now you can test your image in different ways:
a) you can use Gnome-Boxen to just run it in your desktop environment, which is way easier.
or
b) use the QEMU line in the next section.
Congratulations: You are done creating our own live-image. Some tips on the way:
-
If you need services running, check kickstart.cfg for syslive.service
-
If you want to drop-in config files for the services, you have to build your own rpm.
-
If you want to have your own packages inside the image, you need to add a custom repo. See "repo" in kickstart.cfg .
Testing your live CD using KVM or qemu

As root:
# qemu-kvm -m 2048 -vga qxl -cdrom filename.iso
|
If you do not have KVM support, you have to use qemu instead. # qemu-system-x86_64 -m 2048 -vga qxl -cdrom filename.iso |
Replace filename.iso with the name of your created Live CD image and qemu-system-x86_64 with an appropriate qemu binary for the target system, e.g. qemu-system-i386.
Live image media verification
The live image can incorporate functionality to verify itself. To do so, you need to have isomd5sum installed both on the system used for creating the image and installed into the image. This is so that the implantisomd5 and checkisomd5 utilities can be used. These utilities take advantage of embedding an md5sum into the application area of the iso9660 image. This then gets verified before mounting the real root filesystem.
Want to help? Learn how to contribute to Fedora Docs ›