mkfs терпит неудачу, жалуясь на то, что: "/dev/sdb, очевидно, используется системой; здесь не будет файловой системы"

Это сервер Ubuntu 11.10.

/ dev / sdb не смонтирован (см. выходные данные ниже) и не используется ни одним процессом, который я вижу. Его также не используют для обмена. Это второй IDE-диск на сервере, подключенный к вторичной IDE и настроенный в аппаратном рейде как массив 2.

Я не могу смонтировать диск, поскольку получаю жалобу, что он уже может быть использован. Я запустил fdisk, удалил все предыдущие разделы и создал один основной.

root@sargent:/home/harel# fdisk -l /dev/sdb

Disk /dev/sdb: 122.9 GB, 122942324736 bytes
226 heads, 63 sectors/track, 16864 cylinders, total 240121728 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00083711

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   240121727   120059840   83  Linux


root@sargent:/home/harel# mkfs -t ext4 /dev/sdb
mke2fs 1.41.14 (22-Dec-2010)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
/dev/sdb is apparently in use by the system; will not make a filesystem here!

root@sargent:/home/harel# cat /proc/swaps 
Filename                Type        Size    Used    Priority
/dev/sda5                               partition   2619388 0   -1

root@sargent:/home/harel# mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)

7 ответов

Проверьте разделение еще раз, но без указания /dev/sda:

# fdisk -l

Тогда если вы найдете в выводе что-то вроде /dev/md0- это означает, что у вас есть массив sw, а диск, который вы пытаетесь отформатировать, содержит метаданные этого массива.

В этом случае:

# umount /dev/md0
# mdadm --stop /dev/md0

Очистить суперблок диска:

# mdadm --zero-superblock /dev/sdb

Удалить массив

# mdadm --remove /dev/md0

Нет, вы можете работать со своим приводом.

/dev/sdb используется, потому что на нем есть разделы, о которых знает ОС. Если вы хотите создать на нем файловую систему (плохая идея, потому что это делается редко, это может смутить администраторов и затруднить любое разделение или изменение размера), сначала удалите существующий раздел с помощью fdisk, Если вы хотите создать файловую систему на единственном разделе /dev/sdb1 (это то, что вы должны сделать, поскольку использование диска напрямую не выгодно), а затем скажите, что вы имеете в виду: mkfs /dev/sdb1,

Вы получаете это сообщение об ошибке, потому что /dev/sdb имеет раздел (т.е. /dev/sdb1) и вызов mkfs также перезапишет всю или часть вашей таблицы разделов. В худшем случае, ваша файловая система не будет использоваться тогда. Или вы просто потеряете таблицу разделов, которая вам может понадобиться. Поскольку файлы устройств разделов и фактическая таблица разделов на диске должны рассказывать одну и ту же историю, они, вероятно, "используются" ядром.

Таким образом, простое правило таково: если вы хотите создать свою файловую систему на всем дисковом устройстве, убедитесь, что все разделы удалены до этого. Например:

# ls /dev/sdb*
/dev/sdb /dev/sdb1
# sfdisk --delete /dev/sdb
# sfdisk --list /dev/sdb
# ls /dev/sdb*
/dev/sdb

Как правило, инструмент для создания разделов заботится о том, чтобы уведомить ядро ​​об обновлении файлов устройства его раздела. Но иногда (например, для петлевых устройств) может потребоваться их явное удаление (после удаления таблицы разделов), например, через partx -dv mydev и / или kpartx -dv mydev,

Обратите внимание, что предыдущий kpartx -av mydev может создать раздел устройства как /dev/mapper/mydev* вместо /dev/mydev*, Когда они присутствуют, mkfs жалуется точно так же.

Это старый пост, но я столкнулся с той же проблемой. Когда я пытался создать файловую систему, система жалуется и говорит

[root@MASTER ~]# mkfs.ext4 -L squid_cache -m2 /dev/sdc1 mke2fs 1.42.9 (28 декабря 2013 г.) /dev/sdc1, очевидно, используется системой; не будет делать файловую систему здесь!

Команды:

  • термоблока
  • Lsof

ничего полезного не дало. Вот что я сделал, чтобы найти причину проблемы. Я пошел в / etc и искал любые файлы, в которых упоминается диск sdc. Первое "найти" ничего не нашло, поэтому я расширил поиск до следующего слоя ниже, и это действительно нашло преступника

[root @ MASTER и т. д.] # find./* -maxdepth 1 -type f -execdir grep -l sdc '{}' +
./services./saveconfig.json

Как я знаю, эти файлы используются targetcli (серверная часть iSCSI), поэтому я отсоединяю это хранилище и повторно запускаю команду mkfs, и на этот раз без проблем.

Надеюсь это поможет.

В моем случае sudo umount /dev/sdb работал.

Ни один из этих ответов не поможет в моем случае. Я попытался отформатировать первый раздел (/dev/sda1), а не весь диск, как и предполагается использовать команду «mkfs.ext4». Но я получаю сообщение об ошибке, что система использует его.
В моей системе я установил Ubuntu 20.04 Desktop на диск NVMe (/dev/sdb), а также добавил в систему жесткий диск (теперь это /dev/sda). В графическом интерфейсе есть утилита под названием «Диск», в которой раньше был «переключатель», позволяющий мне монтировать/отключать жесткий диск, но теперь этот переключатель отсутствует! Но на этом диске не должно быть НИЧЕГО. Вся эта проблема началась из-за того, что я хочу хранить видеофайлы с камер наблюдения на этом жестком диске емкостью 2 ТБ и хочу получить к нему удаленный доступ, чтобы иметь возможность просматривать файлы. Итак, мне нужно было сопоставить и смонтировать раздел так, чтобы система могла записывать в него файлы, а пользователь мог передавать файлы из него для просмотра по локальной сети. Но сначала мне нужно его отформатировать. И я почему-то не могу. Я пробовал методы как с графическим интерфейсом, так и с интерфейсом командной строки - оба получили эту ошибку «используется», но сегодня она даже не была смонтирована (вот откуда я знаю о переключателе графического интерфейса).

Попробуйте полностью стереть жесткий диск с:

sudo dc3dd wipe = / dev / sdb

Убедитесь, что выбрали правильный диск.

Другие вопросы по тегам