U 盤安裝介質
USB 驅動器,也被稱為閃存驅動器、USB記憶棒、U盤等。可以從 ISO 製作 Arch LiveUSB 系統,從 UEFI 或 BIOS 系統上直接啟動 Arch Linux 安裝環境。因為SquashFS的只讀性質,關機後所有的更改都會丟失。這樣的系統可用於 Arch Linux 安裝、系統維護或者系統恢復。
要在 U 盤上運行完整的 Arch Linux(即能保留設置),請閱讀在U盤中安裝Arch Linux。如果想將 Arch Linux LiveUSB 當作救援 USB 來用,參見Change Root
BIOS 和 UEFI 可啟動 USB[編輯 | 編輯原始碼]
dd[編輯 | 編輯原始碼]
/dev/sdx
上的所有數據且不可逆。要在使用 Arch ISO 之後釋放空間,還原 USB 為原始狀態,需要以 root 權限執行wipefs --all /dev/sdx
命令刪除 iso9660 文件系統標記,然後再 重新分區 和 重新格式化 USB。GNU/Linux[編輯 | 編輯原始碼]
lsblk
找到U盤並確保沒有掛載用U盤替換 /dev/sdx
,如 /dev/sdb
。(不要加上數字,也就是説,不要鍵入 /dev/sdb1
之類的東西)
# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync
請等待 sync 完成,所有數據都寫入之後再拔掉 U 盤。
Windows[編輯 | 編輯原始碼]
Rufus[編輯 | 編輯原始碼]
Rufus 是一款多用途的 USB iso 寫入工具。只要簡單地選擇 Arch Linux ISO、要創建可啟動 Arch Linux 的 USB 驅動器,然後點擊「start」。
由於 Rufus 不關心驅動器是否正確格式化並提供GUI,因此這可能是最簡單最強大的工具。
USBwriter[編輯 | 編輯原始碼]
這種方法和 dd
一樣簡單,只要下載 Arch Linux 安裝鏡像並用 USBwriter 寫入U盤即可。
使用 win32diskimager[編輯 | 編輯原始碼]
win32diskimager 是另一個用於 Windows 的圖形化 USB iso 寫入工具。只需選擇 iso 映像和目標 USB 驅動器號(可能需要先格式化 USB 驅動器後才能分配驅動器號),然後點擊「Write」。
Cygwin[編輯 | 編輯原始碼]
請確認您安裝了Cygwin的 dd
包。
dd
for Windows。查看下一節以獲得更多信息。將您的鏡像文件放在您的 home 目錄中:
C:\cygwin\home\John\
以管理員身份運行 cygwin(cygwin 必須訪問硬件)。用下列命令寫入到您的USB設備:
dd if=image.iso of=\\.\[x]: bs=4M
其中 image.iso 要輸入 cygwin
目錄內的 iso 鏡像文件名,而 \\.\[x]
: 裏面的 x 是Windows為您的USB設備指定的盤符,例如 \\.\d:
。
Cygwin 6.0 版本中可以這樣找到正確的分區:
cat /proc/partitions
然後根據輸出信息寫入ISO映像,例如:
dd if=image.iso of=/dev/sdb bs=4M
dd for Windows[編輯 | 編輯原始碼]
http://www.chrysocome.net/dd 上有基於 GPL 協議的 dd for Windows。相比於 Cygwin,它的優勢在於下載量小。使用方法已經在上面的 Cygwin 部分中説明了。
首先下載最新版本的 dd for Windows,並把內容解壓到 Downloads 目錄或者別的什麼地方。
保
現在以管理員身份運行 命令提示符
。然後切換目錄(cd
)到 Downloads 目錄。
如果你的 Arch Linux ISO 在別的地方,你可能需要列出完整路徑。方便起見,你可能會把它放在 dd 程序的同一目錄中。命令的基本格式像這樣:
# dd if=archlinux-2015-XX-YY-dual.iso od=\\.\x: bs=4M
od
parameter, which is used in the commands above. Note however that this parameter is specific to dd for Windows and cannot be found in other implementations of dd.用正常的日期和盤符來替換上面的空缺(以 "x" 來表示)
下面是一個實例:
# dd if=ISOs\archlinux-2015.01.01-dual.iso od=\\.\d: bs=4M
macOS[編輯 | 編輯原始碼]
做一些特定操作後才能在 Mac 下使用 dd
寫入 USB 設備。先插入 USB 設備,OS X 會自動掛載它,然後在終端程序中運行:
先確認設備,打開 /Applications/Utilities/Terminal
然後通過下面命令查看所有設備:
$ diskutil list
USB 設備應該顯示類似 /dev/disk2 (external, physical)
. 通過名稱和大小確認設備名,在後面的命令中替換 /dev/diskX。
設備會被自動掛載,在使用 dd 前需要先卸載設備上的分區:
$ diskutil unmountDisk /dev/disk2
接着我們可以依照上面介紹的方法繼續操作,磁盤名使用 rdisk
, 在 OS X 上比較快。
$ sudo dd if=path/to/arch.iso of=/dev/rdiskX bs=1m
此時,在物理拔出U盤前,彈出您的USB驅動器可能是個好主意。
完成後,Mac OS 可能抱怨 "The disk you inserted was not readable by this computer". 選擇忽略。啟動盤就做好了。
手動方法[編輯 | 編輯原始碼]
GNU/Linux[編輯 | 編輯原始碼]
這種方法比 dd
複雜,但能夠保持U盤可用(ISO 被裝在分了區的設備的某個分區裡而無需改變其他分區)。
/dev/sdXn
指代目標分區,請根據自身的情況調整 X 和 n。- 確保已經安裝了最新版的 syslinux(6.02或更新)。
- 如果還未準備好,在繼續前創建好分區表和分區。
/dev/sdXn
必須格式化為 FAT32。
- 掛載 ISO 鏡像。掛載U盤上的 FAT32 分區,把 ISO 鏡像內的文件都複製進去。卸載 ISO 鏡像,但不要卸載 FAT32 分區。接着執行:
# mkdir -p /mnt/{iso,usb} # mount -o loop archlinux-version-x86_64.iso /mnt/iso # mount /dev/sdXn /mnt/usb # cp -a /mnt/iso/. /mnt/usb # sync # umount /mnt/iso
- 卷標,或者 UUID 是成功引導必不可少的。默認識別的卷標是
ARCH_2017XX
(XX 和鏡像發佈月份有關)。因此,FAT32 分區的卷標須設成一樣的(可以用gparted)。 要修改識別的卷標,可以編輯 /mnt/usb/arch/boot/syslinux/archiso_sys32.cfg、archiso_sys64.cfg和/mnt/usb/loader/entries/archiso-x86_64.conf中的archisolabel=ARCH_2017XX
(最後一個文件僅對 EFI 系統生效)。32位的 ISO 需要類似修改。要讓安裝鏡像識別 UUID 而不是卷標,將這些地方改為archisodevice=/dev/disk/by-uuid/YOUR-UUID
。UUID 可通過blkid -o value -s UUID /dev/sdXn
查看。
- /mnt/usb/arch/boot/syslinux 裡已經安裝 syslinux。請按照 Syslinux#Manual install進行重裝。
- 用新 syslinux 的模塊(
*.c32
文件)覆蓋原有 syslinux 的模塊,以免因版本差異導致啟動失敗。
- 用新 syslinux 的模塊(
# cp /usr/lib/syslinux/bios/*.c32 /mnt/usb/arch/boot/syslinux
- 運行:
# extlinux --install /mnt/usb/arch/boot/syslinux
- 卸載分區(
umount /mnt/usb
)並將 MBR 或 GPT 分區表安裝到U盤。
- 卸載分區(
- 將該分區標記為活躍(或「啟動」)。
Windows[編輯 | 編輯原始碼]
- 不要使用可啟動 USB 創建工具製作UEFI 啟動 USB。不要用dd for Windows將 ISO 鏡像寫入U盤。
- 以下命令假設U盤盤符為 X:。
- Windows 使用反斜槓作為路徑分隔符,以下命令也是。
- 所有命令都應該在以管理員身份運行的命令提示符內執行。
>
表示 Windows 命令提示符。
- 分區和格式化工具用 Rufus USB partitioner。partition scheme 選 MBR for BIOS and UEFI,文件系統選FAT32,反選「Create a bootable disk using ISO image」和「Create extended label and icon files」
- 如果用的是官方 ISO 鏡像(Archiso),修改U盤
X:
卷標,與<ISO>\loader\entries\archiso-x86_64.conf
中的archisolabel=
保持一致。如果是 Archboot 則不需要修改。卷標可在上一步使用 Rufus 進行分區和格式化時修改。
- 解壓 ISO 文件至U盤(像解壓 ZIP 文件一樣,軟件可用7-Zip)。
- 從 https://www.kernel.org/pub/linux/utils/boot/syslinux/ 下載官方 syslinux 6.xx (ZIP文件)並解壓。Syslinux 的版本應與 ISO 鏡像所使用的版本一致。
- 運行以下命令(在命令提示符內,以管理員身份運行):
X:\boot\syslinux\
。> cd bios\ > for /r %Y in (*.c32) do copy "%Y" "X:\arch\boot\syslinux\" /y > copy mbr\*.bin X:\arch\boot\syslinux\ /y
- 通過以下命令將 Syslinux 安裝到U盤(64位系統則用
win64\syslinux64.exe
):
-d /boot/syslinux
。> cd bios\ > win32\syslinux.exe -d /arch/boot/syslinux -i -a -m X:
- 上述步驟將安裝 Syslinux
ldlinux.sys
至U盤分區 VBR,在 MBR 分區表中將該分區設置為活躍/啟動,並將 MBR 引導代碼寫入U盤前 440位元組引導代碼區中。
-d
開關需要斜槓作為路徑分隔符。
BIOS 系統的其他方法[編輯 | 編輯原始碼]
GNU/Linux[編輯 | 編輯原始碼]
Using GNOME Disk Utility[編輯 | 編輯原始碼]
Linux distributions running GNOME can easily make a live CD through nautilus包 and gnome-disk-utility包. Simply right-click on the .iso file, and select "Open With Disk Image Writer." When GNOME Disk Utility opens, specify the flash drive from the "Destination" drop-down menu and click "Start Restoring."
Making an USB-ZIP drive[編輯 | 編輯原始碼]
For some old BIOS systems, only booting from USB-ZIP drives is supported. This method allows you to still boot from a USB-HDD drive.
- Download syslinux包 and mtools包 from the official repositories.
- Find your usb drive with
lsblk
. - Type
mkdiskimage -4 /dev/sdx 0 64 32
(replace x with the letter of your drive). This will take a while.
From here continue with the manual formatting method. The partition will be /dev/sdx4 due to the way ZIP drives work.
UNetbootin[編輯 | 編輯原始碼]
可以在任何 Linux 發行版或者 Windows 中用 UNetbootin 把你的 ISO 複製到 USB 設備中,但是 Unetbootin 會覆蓋 syslinux.cfg,創建的 USB 設備不能正常引導。由於這個原因,不推薦使用 Unetbootin -- 請使用 dd
或者這裏列出的其它方法。
syslinux.cfg
;在USB設備正常引導前需要還原它。編輯 syslinux.cfg
:
sysconfig.cfg
default menu.c32 prompt 0 menu title Archlinux Installer timeout 100 label unetbootindefault menu label Archlinux_x86_64 kernel /arch/boot/x86_64/vmlinuz append initrd=/arch/boot/x86_64/archiso.img archisodevice=/dev/sdx1 ../../ label ubnentry0 menu label Archlinux_i686 kernel /arch/boot/i686/vmlinuz append initrd=/arch/boot/i686/archiso.img archisodevice=/dev/sdx1 ../../
你必須用你安裝 Arch Linux 的位置,即首個系統未使用的字母來替換 /dev/sdx1
中的 x(例如,如果你有兩個硬盤,使用 c
。)。你也可以在啟動的第一階段顯示菜單的時候按 Tab
鍵改變它。
Windows[編輯 | 編輯原始碼]
Win32 Disk Imager[編輯 | 編輯原始碼]
首先從這裏下載程序。然後解壓並運行可執行程序。在 Image FIle
部分中選擇 Arch Linux ISO,在 Device
部分中選擇 U 盤的盤符。準備就緒後點擊 Write
。
USBWriter for Windows[編輯 | 編輯原始碼]
從 https://sourceforge.net/projects/usbwriter/ 下載程序並運行。選擇 arch 鏡像文件和目標U盤,然後點擊 write
按鈕。現在你應該能夠從 U 盤啟動安裝 Arch Linux。
Flashnul[編輯 | 編輯原始碼]
flashnul 是一個用來檢測和維護閃存(USB-Flash,IDE-Flash,SecureDigital,MMC,MemoryStick,SmartMedia,XD,CompactFlash 等)的工具。
從命令提示符下,使用 –p
參數調用 flashnul 命令來確定 USB 設備的盤符,例如:
C:\>flashnul -p
Avaible physical drives: Avaible logical disks: C:\ D:\ E:\
在本例中,USB 設備的盤符是 E:
當您確定正確的設備後,您可以將鏡像寫入到您的設備中,通過調用flashnul命令,後面輸入您的設備序號,再輸入 -L
及鏡像的完整路徑,例如:
C:\>flashnul E: -L path\to\arch.iso
在您真的確定要寫入這些數據時,輸入yes,然後等它寫入完成。如果您見到拒絕訪問的錯誤提示,關閉所有打開的資源管理器的窗口。
如果是在 Vista 或者 Win7 下,您需要以管理員的身份打開控制台,否則flashnul不能以塊設備的方式訪問 U 盤,而只能通過 Windows 提供的驅動句柄寫入數據。
在內存加載安裝介質[編輯 | 編輯原始碼]
這個方法使用 Syslinux 和一個 Ramdisk (MEMDISK) 來把整個 Arch Linux ISO 鏡像加載到內存中。因為它將完全運行於系統內存中,您要確保使用這種方法安裝的系統有足夠的內存。至少 500MB 到 1G 內存就足以在 MEMDISK 上安裝 Arch Linux。 Arch Linux 和 MEMDISK 系統要求參見安裝指南和這裏。論壇參考貼。
準備 U 盤[編輯 | 編輯原始碼]
首先格式化 U 盤分區為 『』『FAT32 文件系統。然後在格式化後的磁盤中創建以下目錄:
Boot
Boot/ISOs
Boot/Settings
複製需要的文件到 U 盤[編輯 | 編輯原始碼]
然後,把要引導的 ISO 複製到 Boot/ISOs
目錄。接着,從這裏 最新版的 syslinux包 中提取以下文件並複製到下列目錄:
./win32/syslinux.exe
到桌面或者系統中的 Downloads 目錄。./memdisk/memdisk
到 U 盤中的 {{ic|Settings} 目錄。
創建配置文件[編輯 | 編輯原始碼]
複製完所需文件後,在 U 盤的 /Boot/Settings 目錄中創建文件 syslinux.cfg
:
INITRD
一行中,一定要用複製到 ISOs
目錄中的 ISO 文件名!/Boot/Settings/syslinux.cfg
DEFAULT arch_iso LABEL arch_iso MENU LABEL Arch Setup LINUX memdisk INITRD /Boot/ISOs/archlinux-2015.01.01-dual.iso APPEND iso
更多關於 Syslinux 的信息,參見 Arch Wiki 文章。
最後的步驟[編輯 | 編輯原始碼]
最後,在 syslinux.exe
所在目錄創建一個 *.bat
文件並運行(如果是在 Vista 或者 Windows 7 下,需要「以管理員身份運行」):
C:\Documents and Settings\username\Desktop\install.bat
@echo off syslinux.exe -m -a -d /Boot/Settings X:
故障排除[編輯 | 編輯原始碼]
- 對於 MEMDISK 方法,如果你嘗試引導 i686 版本的系統時碰到了著名的 30 seconds error,那麼在
Boot Arch Linux (i686)
條目上按Tab
鍵,然後在末尾添加vmalloc=448M
。參考: 如果你的映像大於 128MiB 且你使用的是32位作業系統,你必須增加最大內存使用參數vmalloc。(*)
- 如果你碰到因
/dev/disk/by-label/ARCH_XXXXXX
未掛載而導致的 30 seconds error,可嘗試重命名你的 USB 媒介為ARCH_XXXXXX
(例如ARCH_201501
)。