редактировать Этот старый вопрос, возможно, не стоит читать, потому что суть проста. Я использовал checkdisk на всем диске, а не на его разделе, вот и все. Matnagel /Редактировать
Я запускаю экземпляр сервера ubuntu 8.04 с виртуальным диском 8 ГБ на vmware 1.0.9.
Для обслуживания диска я сделал копию виртуального диска (сделав копию 2 файлов vmdk sda на остановленной виртуальной машине на хосте) и добавил ее к исходной виртуальной машине. Теперь у этой виртуальной машины есть оригинальный виртуальный диск sda плюс копия 1: 1 (sdd). Есть 2 дополнительных диска sdb и sdc, которые я игнорирую.)
Я ожидал, что sdb не будет смонтирован, когда я запускаю vm. Поэтому я пытаюсь выполнить команду ext2 fsck на sdd из работающей виртуальной машины, но он сообщает, что 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? Или как он «занят?» Как его тогда размонтировать? Как предотвратить автоматическое монтирование ubuntu. Или мне что-то еще не хватает? Также из / 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.
Да, вы правы в том, что вы запускаете fsck на всем диске, а не на разделе. Чтобы проверить, смонтирована ли файловая система, вы можете проверить / etc / mtab, а также выполнить grep в выводе lsof, чтобы убедиться, что ни один процесс не открыл ваш раздел.
Проверьте / etc / fstab, убедитесь, что вы не используете / dev / sdd дважды.
Если это так, когда будет предложено ввести пароль root для входа в оболочку восстановления, перемонтируйте / как rw:
монтировать -o remount -o rw /
создайте временный каталог монтирования для / fs или там, где находится ваш / etc / fstab (например, / tmp / root)
mkdir / tmp / корень
смонтируйте туда свой root fs
смонтировать / dev / sd ??? / tmp / корень
отредактируйте ваш / etc / fstab
vi / tmp / корень / и т. д. / fstab
исправь свою проблему, напиши, перезагрузись ....
Для дальнейшего использования всегда проверяйте /proc/mounts
, как mount
команда показывает только то, что в /etc/mtab
, что потенциально может не соответствовать действительности.
Я только что понял, что набрал
$ sudo fsck.ext3 / dev / sdd
который говорит о проверке всего диска, а не раздела: он должен быть
$ sudo fsck.ext3 / dev / sdd1
Думаю, это делает вопрос устаревшим. Я просто проверяю ...