Automatyczne montowanie dodatkowych dysków przy starcie systemu za pomocą fstab
Ten poradnik opisuje podstawy wykorzystania pliku fstab, znajdującego się w /etc/, do montowania dysków statycznych podczas startu systemu. Krótko wyjaśnia, jak znaleźć UUID partycji lub dysku, co oznaczają niektóre opcje oraz gdzie szukać dalszych informacji, jeśli podane okażą się niewystarczające.
Wymagania wstępne
Dział zatytułowany „Wymagania wstępne”- Dostęp do konta root lub sudo
Dodawanie wpisów do /etc/fstab
Dział zatytułowany „Dodawanie wpisów do /etc/fstab”1. Wyświetl identyfikatory UUID swoich partycji
Dział zatytułowany „1. Wyświetl identyfikatory UUID swoich partycji”lsblk -f# NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS# zram0 [SWAP]# nvme0n1# ├─nvme0n1p1 vfat FAT32 E04D-9F05# ├─nvme0n1p2# ├─nvme0n1p3 ntfs 08A24E90A24E81E4 715.4G 50%# ├─nvme0n1p4 vfat FAT32 E09C-D4DA 628.1M 39% /boot# ├─nvme0n1p5 ext4 1.0 187a9f06-9411-48d9-b941-f03c2e605812 203.6G 47% /# └─nvme0n1p6 ntfsW naszym przykładzie wiemy, że chcemy zamontować partycję Windows, która ma system plików ntfs. Wiemy również, że około połowa jej miejsca jest dostępna. Dlatego możemy stwierdzić, że partycja, którą chcemy zamontować, to nvme0n1p3, a jej UUID to 08A24E90A24E81E4, z systemem plików ntfs w tym przykładzie.
2. Identyfikacja partycji
Dział zatytułowany „2. Identyfikacja partycji”Często lsblk -f dostarczy wszystkich informacji potrzebnych do zamontowania dysku za pomocą /etc/fstab na tym etapie. Jeśli nadal nie masz pewności, która partycja jest właściwa, możesz uruchomić następujące polecenie:
sudo fdisk -l# Device Start End Sectors Size Type# /dev/nvme0n1p1 2048 206847 204800 100M EFI System# /dev/nvme0n1p2 206848 239615 32768 16M Microsoft reserved# /dev/nvme0n1p3 239616 2997384182 2997144567 1.4T Microsoft basic data# /dev/nvme0n1p4 2997385216 2999482367 2097152 1G EFI System# /dev/nvme0n1p5 2999482368 3905454079 905971712 432G Linux root (x86-64)# /dev/nvme0n1p6 3905454080 3907026943 1572864 768M Windows recovery environmentW tym przykładzie znamy już nasz UUID. Jednak fdisk -l może nam to nieco bardziej wyjaśnić, pokazując dokładny rozmiar partycji (1.4T) oraz jej typ (Microsoft basic data).
To powinno ostatecznie wyjaśnić, że partycja, której szukamy, to nvme0n1p3 z UUID 08A24E90A24E81E4, jak opisano wcześniej. Wiedzieliśmy to już wcześniej, ale teraz mamy pewność.
Gdy będziesz pewien, że znalazłeś właściwą partycję, skopiuj UUID. Kopiowanie z emulatora terminala zazwyczaj odbywa się za pomocą ctrl+shift+C.
3. Dodawanie wpisu do /etc/fstab
Dział zatytułowany „3. Dodawanie wpisu do /etc/fstab”Teraz, gdy uzyskaliśmy UUID naszej partycji, nadszedł czas, aby otworzyć plik fstab.
Możesz użyć dowolnego edytora tekstu. W tym przykładzie użyjemy nano. Aby edytować plik fstab, musi on być otwarty jako root:
sudo nano /etc/fstabUżywając klawiszy strzałek, przejdź na dół pliku fstab, a następnie utwórz nowy wpis w nowej, pustej linii:
UUID=08A24E90A24E81E4 /media/windows ntfs3 defaults,nofail,uid=1000,gid=1000,rw,user,exec,umask=000 0 0Struktura tego wpisu wygląda następująco:
-
UUID=08A24E90A24E81E4to system plików, który chcemy zamontować, zidentyfikowany przez jego UUID. Istnieją inne metody identyfikacji systemu plików, chociaż UUID jest zazwyczaj najbezpieczniejszy. Dodatkowe metody są wymienione tutaj. -
/media/windowsto punkt montowania naszego dysku. Standard Hierarchii Systemu Plików Linuksa (Linux Filesystem Hierarchy Standard) mówi, że/media/jest właściwym miejscem do montowania dysków wymiennych.windowswskazuje katalog, w którym chcemy zamontować nasz dysk. Każdy dysk, który chcemy zamontować, będzie potrzebował własnego katalogu. -
ntfs3to typ systemu plików, który ma być użyty. W naszym przykładzie jawnie używamy sterownika jądra ntfs3. Inne przykłady toext4,xfslub podobne. To jawne określenie typu systemu plików można zastąpićauto, aby polecenie mount spróbowało samodzielnie go odgadnąć. -
defaults,nofail,uid=1000,gid=1000,rw,user,exec,umask=000: To są opcje montowania:-
defaults: standardowy zestaw opcji, w tymrw, suid, dev, exec, auto, nouser i async. -
nofail: pozwala na kontynuowanie procesu uruchamiania systemu, nawet jeśli montowanie się nie powiedzie. -
uid=1000igid=1000: ustawia właściciela (użytkownika) i grupę zamontowanych plików na użytkownika i grupę o ID 1000. -
rw: montuje system plików w trybie do odczytu i zapisu. -
user: pozwala użytkownikowi niebędącemu rootem na montowanie systemu plików. -
exec: pozwala na uruchamianie plików binarnych na zamontowanym systemie plików. -
umask=000: ustawia maskę uprawnień plików, aby zezwolić na odczyt, zapis i wykonanie dla wszystkich. -
pierwsze 0dump jest zazwyczaj przestarzałe w nowoczesnych systemach. Pozostawienie tej wartości na 0 niczemu nie zaszkodzi. Więcej na ten temat można przeczytać tutaj. -
drugie 0ustawia kolejność sprawdzania systemów plików podczas startu systemu. Dla partycji root powinno to być 1, chyba że system plików root to btrfs, wtedy powinno być ustawione na 0. Wszystkie inne systemy plików w fstab powinny mieć wartość 0 (wyłączone) lub 2. Więcej informacji tutaj.
-
Aby uzyskać bardziej szczegółowe informacje na temat każdej opcji, odwiedź te dwie strony: strona man dla fstab i strona man dla mount.
Więcej informacji
Dział zatytułowany „Więcej informacji”Na marginesie, wszystkie opcje po deklaracji typu systemu plików są opcjonalne, jeśli nie zmieniasz ich wartości domyślnych.
Zatem
UUID=<UUID partycji> /media/foo jakisfs
i
UUID=<UUID partycji> /media/foo jakisfs defaults 0 0
są równoważne. jakisfs bez dodatkowych opcji domyślnie oznacza jakisfs defaults 0 0.
4. Zakończenie
Dział zatytułowany „4. Zakończenie”Jeśli chcesz zamontować dysk, dla którego właśnie utworzyłeś wpis, musisz uruchomić następujące polecenie:
sudo systemctl daemon-reloada następnie:
sudo mount -aTwój dysk powinien teraz pojawić się w /media/windows i będzie tam widoczny po każdym ponownym uruchomieniu komputera.
ls /media/windows# '$Recycle.Bin' Linux SteamLibrary# AMD Modding swapfile.sys# Apps pagefile.sys 'System Volume Information'# bootTel.dat PerfLogs Users# Development ProgramData WiiU# 'Documents and Settings' 'Program Files' Windows# DumpStack.log.tmp 'Program Files (x86)' XboxGames# FanControl Recovery xiv_modding# Games RetroArch-Win64# Intel 'Ship of Harkinian'Jeśli chcesz utworzyć link do nowo zamontowanego dysku w swoim katalogu domowym, możesz uruchomić następujące polecenie:
ln -s /media/windows ~/WindowsAby sprawdzić, czy zadziałało:
ls ~/Windows# '$Recycle.Bin' Linux SteamLibrary# AMD Modding swapfile.sys# Apps pagefile.sys 'System Volume Information'# bootTel.dat PerfLogs Users# Development ProgramData WiiU#'Documents and Settings' 'Program Files' Windows# DumpStack.log.tmp 'Program Files (x86)' XboxGames# FanControl Recovery xiv_modding# Games RetroArch-Win64# Intel 'Ship of Harkinian'tl;dr (w skrócie)
Dział zatytułowany „tl;dr (w skrócie)”- Znajdź UUID swojej partycji
lsblk -f- Otwórz
/etc/fstab
sudo nano /etc/fstab- Utwórz wpis na dole pliku
UUID=<UUID partycji> /media/foo jakisfs defaults 0 0Zastąp <UUID partycji>, foo i jakisfs swoim UUID, katalogiem i systemem plików, np. ext4, a także ustaw inne opcje, które chcesz dodać po defaults, takie jak _netdev dla NAS-a lub nofail dla każdego dysku, który nie jest krytyczny.
- Przeładuj demona
sudo systemctl daemon-reload- Zamontuj dysk
sudo mount -aTen dysk jest teraz zamontowany i będzie montowany przy każdym starcie systemu.