El sistema no monta la partición de intercambio


12

Aunque la partición de intercambio existe y está configurada para cargarse fstab, todavía no se está montando.

fdisk devuelve esto para la partición de intercambio:

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

y en mi fstabdice

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

y puedo cargarlo bien swapon /dev/sda5pero simplemente no se cargará en el arranque.

¿Hay más información que pueda dar para ayudar a solucionar problemas? No sé qué otra información podría ser útil.


Según lo solicitado, fstabarchivo completo :

# <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

Estaba mirando el registro del sistema y vi esto, no estoy seguro de lo que significa o si es normal, pero:

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

salida de 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

salida de mountall -v

http://pastie.org/private/ras9mc7mf66yudnjoem4w

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

no estoy seguro, todavía no carga el intercambio ... todavía se puede agregar en la línea de comandos, y mi partición de Windows se está montando en el arranque, y eso también está en el fstab.


¿Te importaría publicar el contenido de / etc / fstab?
boehj

@boehj: hecho ...
caesay

Salud. Aquí nada me salta a la vista. Parece extraño Lo único que se me ocurre es que, dado que está utilizando particiones extendidas, / debería aparecer primero, es decir, / dev / sda5 y cambiar como / dev / sda6. Sin embargo, esto es solo agarrar el aire. Estoy interesado en ver cómo se resolverá. ¿Quizás podría usar UUID en lugar de / dev / sdX? Para encontrar estos valores hacer sudo blkid.
boehj

@boehj: sin dados ... todavía no se está cargando.
caesay

@Tommy - Lo siento, no pude ayudarte amigo. Sin embargo, estoy seguro de que alguien aquí podrá hacerlo. Suerte con ello. :)
boehj

Respuestas:


8

Esto va a sonar estúpido, pero pruébalo: reordena /etc/fstabpara poner la partición de intercambio al final.

Parece que mountall -vfalla inofensivamente cuando se ejecuta como usuario NO root, y su salida puede usarse para diagnosticar por qué el montaje no funciona correctamente en el arranque. Su última línea de salida mountall -vincluye la pista crítica:

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

En otras palabras, 0 unidades de intercambio montadas, 0 unidades de intercambio encontradas en / etc / fstab.

Ahora, ¿por qué no pudo encontrar su unidad de intercambio en / etc / fstab? Buena pregunta. Esto probablemente debería ser un error en contra mountall. Para diagnosticarlo, copié su / etc / fstab y lo ejecuté mountall -vcomo usuario no root. Al editar / etc / fstab al azar y continuar probando mountall -v, descubrí cómo cambiar el "intercambio 0/0" de mountall. Solo reordenar las líneas de / etc / fstab fue suficiente para hacer que cambie a "swap 0/1", en otras palabras, se encontró 1 unidad de intercambio en / etc / fstab. Con eso, puede ser suficiente para arrancar correctamente. De lo contrario, publique un nuevo resultado de mountall -v.



8

Gracias por su pregunta. Mientras lo miraba, descubrí que mi sistema tenía el mismo problema que el suyo después de actualizar a Natty, ayer. Creo que el problema es que el UUID de la partición de intercambio cambió durante la actualización. Así es como lo arreglé.

  1. Ejecutar sudo blkid. Esto mostrará los UUID actuales de todas las particiones en el disco. Sospecho que verá que el UUID de su partición de intercambio ahora difiere del valor en / etc / fstab.

  2. Si es diferente, ejecute algún editor de texto en sudo para editar / etc / fstab. Reemplace el valor del UUID con el valor actual actual como se muestra en el blkidcomando anterior. No incluya las comillas.

  3. Guarde el archivo y reinicie su sistema. Ejecute free -mpara asegurarse de que el cambio solucionó el problema:

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

no estaba usando el UUID, estaba usando / dev / sda5 como mencioné en mi pregunta. eso no me afectaría?
caesay

Okay. Entonces, ¿tu / etc / fstab tampoco usa UUID?
Tim

No, no funciona. con o sin
uuid

1
Funcionó como encanto!
ShuaibKunji

1

Mi /etc/fstab(Debian) tiene el siguiente contenido:

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

La suya debe tener esa línea basada en lo que nos dijo sobre su configuración:

/dev/sda5 none swap sw 0 0

Me pregunto por qué como principiante en Linux te estás preguntando sobre esto. La RAM es barata en estos días. Tengo 4 GB y desarrollo Java (IntelliJ utiliza especialmente una tonelada de RAM, por ejemplo), pero nunca se me acaba.

Y tengo que decir que me sorprende que haya tenido este tipo de problemas. ¿No ejecutó el instalador de Ubuntu con las opciones predeterminadas?

¿O tal vez tiene todos estos problemas debido al arranque dual (Win / Lin)?


tiene esa línea, no tengo demasiada memoria RAM, y tengo un arranque dual, pero no debería ser un problema porque mi Windows no toca mi partición de intercambio, y puedo cargarla bien con swapon.
caesay

1

No tengo ninguna respuesta rápida, pero busqué y encontré algunas cosas que podría verificar para tratar de reducir el problema:

  • / etc / fstab (5) debería enumerar la partición de intercambio (la suya se ve muy bien)
  • /etc/init/mountall.conf debería incluir la línea emits all-swaps
  • si se ejecuta mountallcomo usuario no root, su respuesta debe incluirswapon: /dev/sda5: open failed: Permission denied
  • dmesg | less debería incluir algo como lo que tiene el mío:

[2.272092] sda: sda1 sda2 sda3

[2.272924] sd 1: 0: 0: 0: [sda] Disco SCSI conectado

... (más líneas sobre el montaje de sda1, sda2) ...

[20.298550] Agregando 10239996k swap en / dev / sda3. Prioridad: -1 extensiones: 1 en: 10239996k

  • free debería informar algo como Swap: 10239996 0 10239996

no puedo encontrar ningún resultado en dmesg sobre las unidades ... mountall devuelve un error, y el mountall.conf tiene esa línea.
caesay

Si Mountall nunca intentó ejecutar swapon, ese parece ser su problema. ¿Cuál es el resultado detallado mountall -v?
Krubo 01 de

lo agregó a la pregunta @krubo
caesay

ves donde mountall -vdice swap 0/0? Esa es una pista perfecta. Mira mi nueva respuesta.
Krubo

1

Tuve un problema similar en Ubuntu 12.04 (Preciso), pero /etc/fstabya estaba correcto. Resulta que había algo roto en el formato de mi partición de intercambio que impedía blkidy mountalldetectaba la partición de intercambio.

Detalles:

  • Mi partición de intercambio fue /dev/mapper/foo-swap_1: un volumen lógico LVM en una partición cifrada (LUKS).
  • La partición de intercambio nunca estaría activa en el arranque.
  • Correr manualmente swapon -afuncionó.
  • lsblk mostró la partición de intercambio
  • blkid NO mostró la partición de intercambio
  • blkid -p /dev/mapper/foo-swap_1 imprimió el siguiente mensaje:

    /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 mostró DOS firmas diferentes del sistema de archivos!

Nuking ambas firmas ( wipefs -a) y formatear el intercambio ( mkswap) solucionó el problema para mí.

Aquí hay un script que automatiza la solución:

#!/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

Después de la actualización a 12.04, ocurrieron ciertas pequeñas anomalías, no es gran cosa. No sabía que mi partición de intercambio no funcionaba hasta que intenté obtener un jpg de 14 megapíxeles de mi Olympus e330. Yikes

Foros al rescate. Pistas:

blkid muestra

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

pero no está activo según System Monitor, mmm'kay.

El UUID definitivamente tenía razón, pero nada ... no estoy seguro de cómo llegué a este comando:

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

El administrador de archivos me mostró un icono de 0 bytes, control de nombre de archivo, entonces, ¿qué se suponía que debía escribirse allí? Por que?

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

Edité el archivo / etc / fstab agregando

/dev/sdb6   none    swap    sw  0   0

Reiniciar y System Monitor lo muestra activo, yay.

OK, debo haber estado aquí y encontré el comando

blkid -p /dev/mapper/foo-swap_1

Entonces es una pista para alguien más inteligente que yo. Espero eso ayude.


0

Después de UUID:

# Turn off swap swapoff "${SWAP}"

Al final:

swapon "${SWAP}"

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.