스왑 파티션을 마운트하지 않은 시스템


12

스왑 파티션이 존재하고에로드하도록 설정되어 fstab있어도 여전히 마운트되지 않습니다.

fdisk 스왑 파티션에 대해 이것을 반환합니다 :

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

그리고 내 fstab말에

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

그리고 잘로드 할 수는 swapon /dev/sda5있지만 부팅시로드되지 않습니다.

문제 해결에 도움이되는 추가 정보가 있습니까? 다른 정보가 유용한 지 모르겠습니다.


요청에 따라 전체 fstab파일 :

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

나는 시스템 로그를보고 있었고 이것이 무엇을 의미하는지 또는 그것이 정상인지 확실하지 않지만 이것을 보았습니다.

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

~의 출력 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

~의 출력 mountall -v

http://pastie.org/private/ras9mc7mf66yudnjoem4w

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

여전히 스왑을로드하지 않습니다 ... 명령 행에 추가 할 수 있으며 Windows 파티션이 부팅시 마운트되고 있으며 fstab에도 있습니다.


/ etc / fstab의 내용을 게시 하시겠습니까?
boehj

@boehj : 완료 ...
caesay

건배. 나 한테 뛰는 건 없어 이상해 보인다. 내가 생각할 수있는 유일한 방법은 확장 파티션을 사용하는 경우 /가 / dev / sda5와 같이 나타나고 / dev / sda6으로 교체되어야한다는 것입니다. 그러나 이것은 단지 얇은 공기를 움켜 잡고 있습니다. 이 문제가 어떻게 해결되는지 궁금합니다. 아마도 / dev / sdX 대신 UUID 를 사용할 수 있습니까? 이 값들을 찾으려면 sudo blkid.
boehj

@boehj : 주사위가 없습니다 ... 아직로드되지 않았습니다.
caesay

@Tommy-친구 도와 줄 수 없어서 죄송합니다. 나는 여기에 누군가가 할 수 있다고 확신합니다. 행운을 빕니다. :)
boehj

답변:


8

이것은 어리석은 것처럼 들리지만 /etc/fstab스왑 파티션을 마지막에 놓도록 재정렬 하십시오.

mountall -v루트가 아닌 사용자로 실행하면 무해 하게 실패하는 것으로 보이며 mountall이 부팅시 제대로 작동하지 않는 이유를 진단하는 데 출력을 사용할 수 있습니다. 마지막 출력 라인 mountall -v에는 중요한 단서 가 포함됩니다.

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

다시 말해, 0 개의 스왑 드라이브가 마운트되었고 0 개의 스왑 드라이브가 / etc / fstab에 있습니다.

왜 mountall이 / etc / fstab에 나열된 스왑 드라이브를 찾지 못했습니까? 좋은 질문. 이것은 아마도 버그 일 것입니다 mountall. 이를 진단하기 위해 / etc / fstab을 복사하고 mountall -v루트가 아닌 사용자로 실행 했습니다. / etc / fstab을 무작위로 편집하고 테스트를 계속하면서 mountall -vmountall의보고 된 "swap 0/0"을 변경하는 방법을 찾았습니다. / etc / fstab의 행을 재정렬하면 "swap 0/1", 즉 / etc / fstab에 1 개의 스왑 드라이브가 있습니다. 그렇게하면 제대로 부팅하기에 충분할 수 있습니다. 그렇지 않은 경우의 새로운 결과를 게시하십시오 mountall -v.


2
런치 패드에 버그를 신고했습니다 : bugs.launchpad.net/ubuntu/+source/mountall/+bug/839118
bgvaughan

8

질문 해 주셔서 감사합니다. 그것을 보면서 어제 Natty로 업그레이드 한 후 시스템과 동일한 문제가 있음을 발견했습니다. 문제는 업그레이드 중에 스왑 파티션의 UUID가 변경되었다는 것입니다. 여기에 내가 고쳐 놓은 방법이 있습니다.

  1. 를 실행하십시오 sudo blkid. 디스크에있는 모든 파티션의 현재 UUID가 표시됩니다. 스왑 파티션의 UUID가 / etc / fstab의 값과 다르다는 것을 알 것입니다.

  2. 다른 경우 sudo에서 일부 텍스트 편집기를 실행하여 / etc / fstab을 편집하십시오. blkid위 의 명령 으로 표시된대로 UUID 값을 현재 실제 값으로 바꾸십시오 . 따옴표를 포함하지 마십시오.

  3. 파일을 저장하고 시스템을 재부팅하십시오. 실행 free -m변경이 문제를 해결 있는지 확인 :

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

나는 UUID를 사용하지 않고 내 질문에서 언급 한대로 / dev / sda5를 사용하고있었습니다. 저에게 영향을 미치지 않습니까?
caesay

확인. 따라서 / etc / fstab은 UUID도 사용하지 않습니까?
Tim

안돼 .. 작동하지 않아. UUID의 유무에 관계없이
caesay

1
매력처럼 일했다!
ShuaibKunji

1

/etc/fstab(데비안) 내용은 다음과 같습니다.

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

당신은 당신이 당신의 설정에 대해 우리에게 말한 것에 기초하여 그 라인을 가져야합니다 :

/dev/sda5 none swap sw 0 0

리눅스 초보자가 왜 이것에 대해 궁금해하는지 궁금합니다. RAM은 요즘 저렴합니다. 4GB가 있고 Java 개발을 수행합니다 (예를 들어 IntelliJ는 특히 많은 양의 RAM을 사용합니다).

이런 종류의 문제가 있다는 것에 놀랐습니다. 기본 옵션을 사용하여 Ubuntu 설치 프로그램을 실행하지 않았습니까?

아니면 이중 부팅 (Win / Lin)으로 인해 이러한 모든 문제가 발생합니까?


그것은 그 라인을 가지고, 나는 너무 많은 램을 가지고 있지 않으며, 듀얼 부팅이지만 내 창문이 내 스왑 파티션에 닿지 않기 때문에 문제가되어서는 안되며 스왑으로 잘로드 할 수 있습니다.
caesay

1

나는 빠른 답변을 얻지 못했지만 문제를 해결하기 위해 확인할 수있는 몇 가지 사항을 발견했습니다.

  • / etc / fstab (5)는 스왑 파티션을 보여 주어야합니다.
  • /etc/init/mountall.conf는 다음 줄을 포함해야합니다 emits all-swaps
  • mountall루트가 아닌 사용자로 실행 하는 경우 응답에 다음이 포함되어야합니다.swapon: /dev/sda5: open failed: Permission denied
  • dmesg | less 내 것과 같은 것을 포함해야합니다.

[2.272092] sda : sda1 sda2 sda3

[2.272924] sd 1 : 0 : 0 : 0 : [sda] 연결된 SCSI 디스크

... (sda1, sda2 마운트에 대한 추가 라인) ...

[20.298550] / dev / sda3에 10239996k 스왑 추가. 우선 순위 : -1 범위 : 1 가로 : 10239996k

  • free 같은 것을보고해야합니다 Swap: 10239996 0 10239996

드라이브에 대한 dmesg에서 출력을 찾을 수 없습니다. mountall은 오류를 반환하고 mountall.conf에 해당 줄이 있습니다.
caesay

mountall이 스왑 온을 실행하려고 시도하지 않았다면, 이것이 문제인 것 같습니다. 자세한 출력은 무엇입니까 mountall -v?
krubo

질문에 추가했습니다 @krubo
caesay

mountall -v스왑 0/0이 어디에 표시되어 있습니까? 완벽한 단서입니다. 내 새로운 답변을 참조하십시오.
krubo

1

우분투 12.04 (Precise)와 비슷한 문제가 있었지만 /etc/fstab이미 정확했습니다. 그것은 방지 나의 스왑 파티션의 형식에 대한 깨진 뭔가가 있다고 밝혀 blkidmountall스왑 파티션을 감지하지가.

세부:

  • 내 스왑 파티션은 /dev/mapper/foo-swap_1-암호화 된 (LUKS) 파티션의 LVM 논리 볼륨입니다.
  • 스왑 파티션은 부팅시 활성화되지 않습니다.
  • 수동으로 작동 swapon -a했습니다.
  • lsblk 스왑 파티션을 보여 주었다
  • blkid 스왑 파티션을 표시하지 않았습니다
  • blkid -p /dev/mapper/foo-swap_1 다음과 같은 메시지가 인쇄되었습니다.

    /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 두 가지 다른 파일 시스템 서명을 보여주었습니다!

서명 ( wipefs -a)을 모두 제거 하고 스왑 ( mkswap)을 다시 포맷 하면 문제가 해결되었습니다.

수정 사항을 자동화하는 스크립트는 다음과 같습니다.

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

12.04로 업그레이드 한 후에는 약간의 예외가 발생했지만 큰 문제는 없었습니다. Olympus e330에서 14 megapixel jpg를 Gimp하려고 할 때까지 스왑 파티션이 작동하지 않는다는 것을 알지 못했습니다. Yikes.

구조 포럼. 단서 :

blkid

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

그러나 시스템 모니터에 따르면 활성화되지 않았습니다.

UUID는 옳았지만 갈 수 없었습니다 ... 내가이 명령에 어떻게 도달했는지 확실하지 않습니다.

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

파일 관리자는 0 바이트 아이콘, 파일 이름 제어를 보여주었습니다. 그래서 거기에 무엇을 써야합니까? 무엇에 의해?

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

/ etc / fstab 파일을 추가하여 편집했습니다.

/dev/sdb6   none    swap    sw  0   0

재부팅하면 시스템 모니터에 활성 상태가 표시됩니다.

좋아, 나는 여기에 있었고 명령을 찾았다.

blkid -p /dev/mapper/foo-swap_1

나보다 똑똑한 사람에게는 실마리입니다. 도움이 되길 바랍니다.


1

내 경우에는 위의 내용이 없습니다

스왑의 크기를 조정했습니다. 이전 스왑을 삭제 한 다음 새 것을 크게 만들었습니다. 오류가 발생한 후 Something X session related. / etc / fstab에서 UUID를 변경했지만 작동하지 않았습니다. 확인 된 저널 :... unknown filesystem "swap"

해결 방법 :/etc/fstab변화 ext4swap대한 /swap재부팅


새로운 사용자를 환영합니다! 당신의 기여에 감사드립니다. 당신의 대답은 약간 불분명합니다. 내용 을 정리하기 위해 편집 할 수 있습니까? 우리는이 문제를 가진 미래의 방문객들이 그것을 명확하게 이해할 수 있도록하고자합니다. 특히 스왑 파티션의 크기를 조정하거나 새 UUID를 할당하도록 조언하고 있습니까? 또는 시도가 효과가 없다고 말하고 있습니까 (혼란을 피하기 위해 효과가없는 것을 제외하고 싶을 수도 있음). 올바른 서식 은 명확하게하는 데 도움이 될 수 있습니다.
Nmath

0

UUID 후 :

# Turn off swap swapoff "${SWAP}"

결국 :

swapon "${SWAP}"

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.