genfstab - Arch Linux 中文维基

跳至內容

# genfstab

出自 Arch Linux 中文维基

本文或本章節可能需要合併到fstab#Tips and tricks。

附註： There is not enough content for a separate article. The genfstab(8) man page provides everything besides the warnings and examples.（在 Talk:Genfstab 中討論）

相關文章

- fstab
- 塊設備持久化命名
- 文件系統

翻譯狀態：

- 本文（或部分內容）譯自 Genfstab，最近一次同步於 2024-7-30，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

genfstab 是一個 Bash 腳本，用於自動檢測給定掛載點下的所有掛載，然後將其輸出重定向到一個文件中，通常是 `/etc/fstab`。

## 安裝

Arch 安裝介質中默認包含該程序，也可作為 arch-install-scripts包 軟體包的一部分安裝到已安裝的系統中。

該工具還有一個獨立的分支，可以在其他發行版上使用，你可以在此處找到它。

## 用法

您可以使用以下命令獲取當前的掛載的列表：

    $ genfstab /

腳本支持通過內核描述符、設備/分區標籤或設備/分區 UUID 查找掛載。默認情況下，它將輸出 `kernel descriptor`（ kernel descriptor 為 `/dev/xxx`），你可以使用 `-L`, `-t PARTLABEL`, `-U` 或 `-t PARTUID` 分別表示文件系統標籤、GPT 分區標籤、文件系統 UUID 或 GPT 分區 UUID。

警告：塊設備的內核名稱描述符不是持久的，每次啟動都會更改，因此不應在配置文件（包括 `/etc/fstab`）中使用。

更常見的使用情況是為 chroot 獲取一個 fstab，為此你需要執行類似下面的操作：

    # mount /dev/sda3 /mnt
    # mount --mkdir /dev/sda1 /mnt/efi

    $ genfstab -U /mnt

    # /dev/sda3
    UUID=185aebd2-ce76-47dd-baf4-5ad0a80fa963       /               ext4            rw,noatime      0 1

    # /dev/sda1
    UUID=E5C7-6DD7          /efi       vfat             rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro   0 2

在這種情況下，`genfstab` 會顯示 `/mnt` 下的掛載，並按照設備 `UUID` 列出。

提示：請注意，我們將設備 `sda3` 掛載到了 `/mnt` 中，但 genfstab 卻將其顯示為主根掛載點 `/`，這是因為它將給定的掛載點視為根掛載點。

通常情況下，您希望將輸出重定向到一個文件，這可以通過以下方法實現：

    # genfstab -U /mnt >> /mnt/etc/fstab

警告：

- 確保在覆蓋現有 fstab 之前創建了一個備份。
- 注意保存 fstab 文件的位置，例如，如果要為 chroot 創建該文件，則不要覆蓋主安裝上的文件。

## 參見

- genfstab(8)

分類：​

- 文件系統
- 安裝過程

隱藏分類：​

- 使用「模板:合併」標記的頁面或章節

genfstab
新增話題