System nie montuje partycji wymiany


12

Mimo że partycja wymiany istnieje i jest ustawiona do załadowania fstab, nadal nie jest montowana.

fdisk zwraca to dla partycji wymiany:

file system: /dev/sda5
      start: 1
        end: 244
     blocks: 1951744
         id: 82
     system: Linux swap / Solaris

a u mnie fstabto mówi

file system: /dev/sda5
mount point: none
       type: swap
    options: sw
       dump: 0
       pass: 0

i mogę go dobrze załadować, swapon /dev/sda5ale po prostu nie ładuje się przy starcie.

Czy mogę podać więcej informacji, które pomogą rozwiązać problem? Nie wiem, jakie inne informacje mogą być przydatne


Zgodnie z życzeniem, pełny fstabplik:

# <file system> <mount point>   <type>  <options>            <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid  0       0
/dev/sda6       /               ext4    errors=remount-ro    0       1
/dev/sda5       none            swap    sw                   0       0
/dev/sr1        none            udf     rw,noauto            0       0

Patrzyłem na dziennik systemu i zobaczyłem to, nie jestem pewien, co to znaczy lub czy to normalne, ale:

Apr 29 17:57:24 caelan-ubuntu os-prober: debug: running /usr/lib/os-probes/50mounted-tests on /dev/sda5
Apr 29 17:57:24 caelan-ubuntu 50mounted-tests: debug: /dev/sda5 is a swap partition; skipping

wyjście z mountall

mountall: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
mountall: Connection is closed

wyjście z mountall -v

http://pastie.org/private/ras9mc7mf66yudnjoem4w

swap finished
...
local 4/4 remote 0/0 virtual 12/12 swap 0/0

nie jestem pewien, wciąż nie ładuję swap ... wciąż można go dodać w linii poleceń, a moja partycja Windows jest montowana podczas rozruchu, i to również w fstab.


Czy mógłbyś opublikować zawartość pliku / etc / fstab?
boehj

@boehj: gotowe ...
caesay

Twoje zdrowie. Nic tu na mnie nie wyskakuje. To wydaje się dziwne. Jedyną możliwą rzeczą, o której mogę myśleć, jest to, że ponieważ używasz rozszerzonych partycji, / powinien pojawić się pierwszy, tj. / Dev / sda5 i zamień jako / dev / sda6. Jest to jednak tylko chwytanie za cienkie powietrze. Chcę zobaczyć, jak ten problem zostanie rozwiązany. Być może mógłbyś użyć UUID-a zamiast / dev / sdX? Aby znaleźć te wartości, wykonaj sudo blkid.
boehj 30.04.2011

@boehj: brak kości ... wciąż nie jest ładowany.
caesay

@Tommy - Przepraszam, nie mogłem pomóc kolego. Jestem pewien, że ktoś tutaj będzie w stanie to zrobić. Powodzenia z tym. :)
boehj

Odpowiedzi:


8

To zabrzmi głupio, ale spróbuj: zmień kolejność, /etc/fstababy na koniec zamienić partycję wymiany.

Wygląda na to, że mountall -vnie działa nieszkodliwie, gdy jest uruchamiany jako użytkownik inny niż root, a jego dane wyjściowe można wykorzystać do zdiagnozowania, dlaczego mountall nie działa bezpośrednio podczas rozruchu. Twój ostatni wiersz wyników mountall -vzawiera kluczową wskazówkę:

local 4/4 remote 0/0 virtual 12/12 swap 0/0

Innymi słowy, zamontowano 0 napędów wymiany, 0 napędów wymiany znaleziono w / etc / fstab.

Dlaczego teraz mountall nie znalazł twojego dysku wymiany wymienionego w / etc / fstab? Dobre pytanie. To prawdopodobnie powinien być błąd mountall. Aby to zdiagnozować, skopiowałem / etc / fstab i działałem mountall -vjako użytkownik inny niż root. Edytując losowo / etc / fstab i kontynuując testowanie mountall -v, znalazłem sposób na zmianę zgłoszonego przez mountall „swap 0/0”. Wystarczyło zmienić kolejność wierszy pliku / etc / fstab, aby zmienić go na „swap 0/1”, innymi słowy, 1 dysk wymiany wymieniony w / etc / fstab. Dzięki temu może wystarczyć prawidłowe uruchomienie. Jeśli nie, proszę opublikować nowy wynik mountall -v.



8

Dziękuję za Twoje pytanie. Patrząc na to, odkryłem, że mój system miał taki sam problem jak twój po wczorajszej aktualizacji do Natty. Uważam, że problem polega na tym, że identyfikator UUID partycji wymiany zmienił się podczas aktualizacji. Oto jak to naprawiłem.

  1. Uruchom sudo blkid. Spowoduje to wyświetlenie bieżących UUID wszystkich partycji na dysku. Podejrzewam, że zobaczysz, że UUID twojej partycji wymiany teraz różni się od wartości w / etc / fstab.

  2. Jeśli jest inaczej, uruchom edytor tekstu w sudo, aby edytować / etc / fstab. Zastąp wartość UUID bieżącą wartością rzeczywistą, jak pokazano blkidpowyżej w poleceniu. Nie dołączaj cudzysłowów.

  3. Zapisz plik i uruchom ponownie system. Uruchom, free -maby upewnić się, że zmiana rozwiązała problem:

    $ free -m
                 total       used       free     shared    buffers     cached
    Mem:          1001        604        396          0        123        199
    -/+ buffers/cache:        281        719
    Swap:         1953          0       1953
    

nie używałem UUID, korzystałem z / dev / sda5, jak wspomniałem w moim pytaniu. to by na mnie nie wpłynęło?
caesay

Dobrze. Więc twój / etc / fstab też nie używa UUID?
Tim

nie .. to nie działa. z
uuidami

1
Działa jak urok!
ShuaibKunji

1

Mój /etc/fstab(Debian) ma następującą zawartość:

UUID=7b533ab9-cb87-4a30-a4d8-689788f21985 none  swap sw 0 0

Twój powinien mieć ten wiersz na podstawie tego, co powiedziałeś nam o swojej konfiguracji:

/dev/sda5 none swap sw 0 0

Zastanawiam się, dlaczego jako początkujący w Linuksie zastanawiasz się nad tym. Pamięć RAM jest obecnie tania. Mam 4 GB i zajmuję się programowaniem w Javie (IntelliJ szczególnie zużywa na przykład mnóstwo pamięci RAM), ale nigdy mi się nie kończy.

Muszę powiedzieć, że jestem zaskoczony, że masz tego rodzaju problemy. Czy nie uruchomiłeś Instalatora Ubuntu przy użyciu domyślnych opcji?

A może masz te wszystkie problemy z powodu podwójnego uruchamiania (Win / Lin)?


ma tę linię, nie mam zbyt wiele pamięci RAM i uruchamiam podwójnie, ale nie powinno to stanowić problemu, ponieważ moje okna nie dotykają mojej partycji wymiany i mogę załadować ją dobrze za pomocą swapon.
caesay

1

Nie mam szybkiej odpowiedzi, ale rozejrzałem się i znalazłem kilka rzeczy, które możesz sprawdzić, aby zawęzić problem:

  • / etc / fstab (5) powinien wyświetlić listę partycji wymiany (twoja wygląda dobrze)
  • /etc/init/mountall.conf powinien zawierać wiersz emits all-swaps
  • jeśli działasz mountalljako użytkownik inny niż root, jego odpowiedź powinna zawieraćswapon: /dev/sda5: open failed: Permission denied
  • dmesg | less powinien zawierać coś takiego, co moje:

[2.272092] sda: sda1 sda2 sda3

[2.272924] sd 1: 0: 0: 0: [sda] Podłączony dysk SCSI

... (więcej linii na temat montażu sda1, sda2) ...

[20.298550] Dodanie wymiany 10239996k na / dev / sda3. Priorytet: -1 w zakresie: 1 w poprzek: 10239996k

  • free powinien zgłosić coś takiego Swap: 10239996 0 10239996

Nie mogę znaleźć żadnych danych wyjściowych w dmesg dotyczących napędów. mountall zwraca błąd, a mountall.conf ma tę linię.
Cezay

Jeśli mountall nigdy nie próbował uruchomić swapon, wydaje się, że to twój problem. Co to jest pełne wyjście mountall -v?
krubo

dodał to do pytania @krubo
caesay

widzisz, co mountall -vmówi zamiana 0/0? To idealna wskazówka. Zobacz moją nową odpowiedź.
krubo

1

Miałem podobny problem na Ubuntu 12.04 (Precise), ale mój /etc/fstabjuż był poprawny. Okazuje się, że coś było nie tak z formatem mojej partycji wymiany, która uniemożliwiła blkidi nie mountallwykryła partycji wymiany.

Detale:

  • Moją partycją wymiany był /dev/mapper/foo-swap_1- wolumin logiczny LVM na partycji zaszyfrowanej (LUKS).
  • Partycja wymiany nigdy nie byłaby aktywna podczas rozruchu.
  • Ręczne bieganie swapon -adziałało.
  • lsblk pokazał partycję wymiany
  • blkid NIE pokazywał partycji wymiany
  • blkid -p /dev/mapper/foo-swap_1 wydrukował następujący komunikat:

    /dev/mapper/foo-swap_1: ambivalent result (probably more filesystems on the device, use wipefs(8) to see more details)
    
  • wipefs -n /dev/mapper/foo-swap_1 pokazał DWIE różne sygnatury systemu plików!

Nukowanie obu podpisów ( wipefs -a) i ponowne sformatowanie swap ( mkswap) rozwiązało problem.

Oto skrypt automatyzujący poprawkę:

#!/bin/sh

# helper functions
log() { printf %s\\n "$*"; }
error() { log "ERROR: $*" >&2; }
fatal() { error "$*"; exit 1; }
try() { "$@" || fatal "'$*' failed"; }

# path to the swap partition
SWAP=/dev/mapper/foo-swap_1

# remember the UUID of the swap partition
UUID=$(try sed -e 's/RESUME=UUID=//' /etc/initramfs-tools/conf.d/resume) || exit 1
[ -n "${UUID}" ] || fatal "couldn't read UUID"

# delete filesystem/raid signatures from the swap partition
try wipefs -a "${SWAP}"

# format the swap partition
try mkswap -f -U "${UUID}" "${SWAP}"

1

Po aktualizacji do 12.04 wystąpiły pewne małe anomalie, nie ma biggie. Nie wiedziałem, że moja partycja wymiany nie działa, dopóki nie spróbowałem pobrać 14-megapikselowego pliku JPG z mojego Olympusa e330. Yikes.

Fora na ratunek. Wskazówki:

blkid przedstawia

/dev/sdb6: UUID="3e0550cf-4a55-4aa8-80fa-24103c1b25a7" TYPE="swap" 

ale według Monitora systemu nie jest aktywny, mmm'kay.

UUID miał zdecydowanie rację, ale nie idź ... nie jestem pewien, jak dostałem się do tego polecenia:

# blkid -p /dev/mapper/foo-swap_1
error: /dev/mapper/foo-swap_1: No such file or directory

Menedżer plików pokazał mi ikonę 0-bajtową, kontrolę nazwy pliku, więc co tam napisać? Przez co?

$ sudo swapon --all --verbose yielded
swapon: cannot find the device for UUID=3e0550cf-4a55-4aa80fa-24103c1b25a7

Edytowałem dodawanie pliku / etc / fstab

/dev/sdb6   none    swap    sw  0   0

Uruchom ponownie i Monitor systemu pokazuje, że jest aktywny, tak.

OK, musiałem tu być i znaleźć polecenie

blkid -p /dev/mapper/foo-swap_1

To wskazówka dla kogoś mądrzejszego ode mnie. Mam nadzieję, że to pomoże.


1

W moim przypadku nic powyżej nie było

Zmieniłem rozmiar zamiany: usunąłem stary, a następnie powiększyłem nowy. Po wystąpieniu błędu Something X session related. Zmieniłem UUID w / etc / fstab, ale to nie działało dla mnie. Sprawdzony dziennik:... unknown filesystem "swap"

Rozwiązanie: w /etc/fstabzmianie ext4do swapdo /swapi restart


Witamy nowego użytkownika! Dziękuję za Twój wkład. Twoja odpowiedź jest nieco niejasna. Czy mógłbyś dokonać edycji, aby wszystko wyjaśnić? Chcemy mieć pewność, że przyszli goście z tym problemem będą w stanie to zrozumieć. W szczególności, czy zaleca się zmianę rozmiaru partycji wymiany lub przypisanie nowego UUID? A może mówisz, że próba nie zadziałała (możesz chcieć pominąć rzeczy, które nie działają, aby uniknąć zamieszania). Dobre formatowanie może również pomóc w wyjaśnieniu.
Nmath

0

Po UUID:

# Turn off swap swapoff "${SWAP}"

Na końcu:

swapon "${SWAP}"

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.