디스크를 마운트하지 않았는데도 Linux fsck.ext3에 "장치 또는 리소스 사용 중"이라고 표시됩니다.

디스크를 마운트하지 않았는데도 Linux fsck.ext3에 "장치 또는 리소스 사용 중"이라고 표시됩니다.

편집하다이 오래된 질문은 읽을 가치가 없을 수도 있습니다. 왜냐하면 영혼이 단순하기 때문입니다. 해당 드라이브의 파티션 대신 전체 드라이브에 체크디스크를 사용했습니다. 그게 전부입니다. 매트나겔/편집하다

vmware 1.0.9에서 8GB 가상 디스크가 있는 ubuntu 8.04 서버 인스턴스를 실행하고 있습니다.

디스크 유지 관리를 위해 가상 디스크의 복사본을 만들고(호스트에서 중지된 VM에 sda의 2개 vmdk 파일 복사본을 만들어) 원본 VM에 추가했습니다. 이제 이 VM에는 원래 가상 디스크 sda와 1:1 복사본(sdd)이 있습니다. 무시하는 2개의 추가 디스크 sdb 및 sdc가 있습니다.)

VM을 시작할 때 sdb가 마운트되지 않을 것으로 예상합니다. 그래서 실행 중인 VM의 sdd에서 ext2 fsck를 시도했지만 fsck에서 sdb가 마운트되었다고 보고했습니다.

$ sudo fsck.ext3 -b 8193 /dev/sdd
e2fsck 1.40.8 (13-Mar-2008)
fsck.ext3: Device or resource busy while trying to open /dev/sdd
Filesystem mounted or opened exclusively by another program?

"mount" 명령은 sdd가 마운트되었음을 ​​알려주지 않습니다.

$ sudo mount
/dev/sda1 on / type ext3 (rw,relatime,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sdc1 on /mnt/r1 type ext3 (rw,relatime,errors=remount-ro)
/dev/sdb1 on /mnt/k1 type ext3 (rw,relatime,errors=remount-ro)
securityfs on /sys/kernel/security type securityfs (rw)

경고를 무시하고 fsck를 계속하면 많은 오류가 보고되었습니다.

이것을 어떻게 통제할 수 있나요? sdd가 마운트되었는지 확인하는 더 좋은 방법이 있습니까? 아니면 어떻게 "바빠요? 어떻게 마운트 해제하나요? 우분투가 자동으로 마운트되지 않도록 하는 방법. 아니면 제가 누락한 것이 있나요? 또한 /var/log/syslog에서 마운트된 것을 볼 수 없습니다. 이것이 마지막 부분입니다. 시작 순서:

kernel: [   14.229494] ACPI: Power Button (FF) [PWRF]
kernel: [   14.230326] ACPI: AC Adapter [ACAD] (on-line)
kernel: [   14.460136] input: PC Speaker as /devices/platform/pcspkr/input/input3
kernel: [   14.639366] udev: renamed network interface eth0 to eth1
kernel: [   14.670187] eth1: link up
kernel: [   16.329607] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i8042/serio1/
kernel: [   16.367540] parport_pc 00:08: reported by Plug and Play ACPI
kernel: [   16.367670] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
kernel: [   19.425637] NET: Registered protocol family 10
kernel: [   19.437550] lo: Disabled Privacy Extensions
kernel: [   24.328857] loop: module loaded
kernel: [   24.449293] lp0: using parport0 (interrupt-driven).
kernel: [   26.075499] EXT3 FS on sda1, internal journal
kernel: [   28.380299] kjournald starting.  Commit interval 5 seconds
kernel: [   28.381706] EXT3 FS on sdc1, internal journal
kernel: [   28.381747] EXT3-fs: mounted filesystem with ordered data mode.
kernel: [   28.444867] kjournald starting.  Commit interval 5 seconds
kernel: [   28.445436] EXT3 FS on sdb1, internal journal
kernel: [   28.445444] EXT3-fs: mounted filesystem with ordered data mode.
kernel: [   31.309766] eth1: no IPv6 routers present
kernel: [   35.054268] ip_tables: (C) 2000-2006 Netfilter Core Team
mysqld_safe[4367]: started
mysqld[4370]: 100124 14:40:21  InnoDB: Started; log sequence number 0 10130914
mysqld[4370]: 100124 14:40:21 [Note] /usr/sbin/mysqld: ready for connections.
mysqld[4370]: Version: '5.0.51a-3ubuntu5.4'  socket: '/var/run/mysqld/mysqld.sock'  port: 3
/etc/mysql/debian-start[4417]: Upgrading MySQL tables if necessary.
/etc/mysql/debian-start[4422]: Looking for 'mysql' in: /usr/bin/mysql
/etc/mysql/debian-start[4422]: Looking for 'mysqlcheck' in: /usr/bin/mysqlcheck
/etc/mysql/debian-start[4422]: This installation of MySQL is already upgraded to 5.0.51a, u
/etc/mysql/debian-start[4436]: Checking for insecure root accounts.
/etc/mysql/debian-start[4444]: Checking for crashed MySQL tables.

답변1

예, 파티션 대신 전체 드라이브에서 fsck를 실행하고 있다는 점에서 맞습니다. 파일 시스템이 마운트되었는지 확인하려면 /etc/mtab을 확인하고 lsof의 출력을 grep하여 파티션이 열려 있는 프로세스가 없는지 확인할 수 있습니다.

답변2

방금 내가 타이핑했다는 걸 깨달았어

$ sudo fsck.ext3 /dev/sdd

파티션이 아닌 전체 디스크를 확인하라는 메시지가 표시됩니다.

$ sudo fsck.ext3 /dev/sdd1

나는 이것이 질문을 쓸모 없게 만든다고 생각합니다. 그냥 확인 중인데...

답변3

/proc/mounts명령은 mount에 있는 내용만 표시하므로 나중에 참조할 수 있도록 항상 확인하십시오. /etc/mtab이는 잠재적으로 현실과 동기화되지 않을 수 있습니다.

답변4

/etc/fstab을 확인하고 /dev/sdd를 두 번 사용하고 있지 않은지 확인하세요.

그렇다면 복구 셸로 이동하기 위해 루트 비밀번호를 입력하라는 메시지가 표시되면 /를 rw로 다시 마운트합니다.

마운트 -o 다시 마운트 -o rw /

/fs 또는 /etc/fstab이 있는 위치(예: /tmp/root)에 대한 임시 마운트 디렉터리를 만듭니다.

mkdir /tmp/루트

거기에 루트 fs를 마운트하십시오

마운트 /dev/sd??? /tmp/루트

/etc/fstab을 편집하세요

vi /tmp/root/etc/fstab

문제를 해결하고, 쓰고, 재부팅하세요....

관련 정보