2

У меня есть Raspberry PI, к которому подключен внешний жесткий диск 1T через USB. USB-накопитель работает нормально, если он отформатирован в FAT, но если я отформатирую диск в ext4, он не будет правильно подключен и выдает все возможные ошибки. Вот что я делаю:

fdisk -l

и результат

Device Boot      Start         End      Blocks   Id  System
/dev/sda1               2  1953525167   976762583   83  Linux

тогда я бегу

mkfs.ext4 /dev/sda1

и это работает и делает то, что делает без каких-либо ошибок. затем я монтирую диск

mount /dev/sda1 /mnt/external1

и это занимает немного времени, но возвращается без ошибок. Здесь происходят две вещи. Если я делаю ls /mnt /external1, я получаю следующую ошибку:

ls: reading directory /mnt/external1: Input/output error

другая вещь, которая случается в том, что если я сделаю fdisk -l, я получу это сейчас:

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               2  1953525167   976762583   83  Linux

мой диск теперь перемещен в sdb1, и если я пытаюсь смонтировать sdb1, происходят те же самые ошибки, и диск снова появляется под sda1.

Что я делаю неправильно?

Вот вывод из dmesg

[98931.054218] usb 1-1.2: New USB device found, idVendor=13fd, idProduct=1340
[98931.054254] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[98931.054274] usb 1-1.2: Product: External        
[98931.054290] usb 1-1.2: Manufacturer: Generic 
[98931.054308] usb 1-1.2: SerialNumber: 533144464256454C20202020
[98931.055405] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[98931.058815] scsi12 : usb-storage 1-1.2:1.0
[98932.054219] scsi 12:0:0:0: Direct-Access     Generic  External         2.10 PQ: 0 ANSI: 4
[98932.055913] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
[98932.056737] sd 12:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
[98932.058233] sd 12:0:0:0: [sdb] Write Protect is off
[98932.058270] sd 12:0:0:0: [sdb] Mode Sense: 21 00 00 00
[98932.059724] sd 12:0:0:0: [sdb] No Caching mode page found
[98932.059763] sd 12:0:0:0: [sdb] Assuming drive cache: write through
[98932.066927] sd 12:0:0:0: [sdb] No Caching mode page found
[98932.066967] sd 12:0:0:0: [sdb] Assuming drive cache: write through
[98932.090896]  sdb: sdb1
[98932.096586] sd 12:0:0:0: [sdb] No Caching mode page found
[98932.096629] sd 12:0:0:0: [sdb] Assuming drive cache: write through
[98932.096654] sd 12:0:0:0: [sdb] Attached SCSI disk
[98935.392602] Buffer I/O error on device sda1, logical block 121667584
[98935.392632] lost page write due to I/O error on sda1
[98935.392651] JBD2: Error -5 detected when updating journal superblock for sda1-8.
[98935.392822] Aborting journal on device sda1-8.
[98935.392857] Buffer I/O error on device sda1, logical block 121667584
[98935.392872] lost page write due to I/O error on sda1
[98935.392887] JBD2: Error -5 detected when updating journal superblock for sda1-8.
[98970.278132] EXT4-fs warning (device sda1): __ext4_read_dirblock:908: error reading directory block (ino 2, block 0)
[98970.278186] EXT4-fs error (device sda1): __ext4_journal_start_sb:62: Detected aborted journal
[98970.300661] EXT4-fs (sda1): Remounting filesystem read-only

4 ответа4

1

Чтобы создать раздел, я использовал fdisk , вызвав sudo fdisk /dev/sda за интерактивным сеансом легко следить:

Команда (m для помощи): d

Выбранный раздел 1 Раздел 1 был удален.

Команда (m для помощи): n

Номер раздела (1-128, по умолчанию 1): Первый сектор (34-1953525134, по умолчанию 2048): 34 Последний сектор, + секторы или + размер {K, M, G, T, P} (34-1953525134, по умолчанию 1953525134):

Команда (m для помощи): w

Таблица разделов была изменена. Вызов ioctl () для перечитывания таблицы разделов. Синхронизация дисков.

Далее я отформатировал раздел:

pi @ retina: ~ $ sudo mkfs.ext4 /dev /sda1

mke2fs 1.42.12 (29 августа 2014 г.) Создание файловой системы с 244190637 4k-блоками и 61054976 inode-файлами. Файловая система UUID: fe042d87-3266-44b5-beff-a98f70b783ed Резервные копии суперблоков, хранящиеся в блоках: 32768, 98304, 163840, 229376, 294912, 849. 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848

Выделение групповых таблиц: выполнено Написание таблиц узлов: выполнено Создание журнала (32768 блоков): выполнено Написание суперблоков и учетной информации файловой системы: выполнено

Создан новый раздел 1 типа «Файловая система Linux» и размером 931,5 ГиБ.

наконец я извлек диск:

sudo eject /dev /sda

чтобы снова подключить его, чтобы он появился в таблице монтирования.

1

У меня также были проблемы с ext4 и raspberry pi (3), когда я пытался отформатировать USB-флешку с

sudo mkfs.ext4 /dev/sda1

(после создания таблицы gpt и раздела linux с помощью fdisk)

Это было мое сообщение об ошибке:

Предупреждение, были проблемы с записью суперблоков.

FAT однако работал.

Поэтому я попытался отформатировать USB-флешку с помощью gparted на другом компьютере, и когда это сработало, я проверил наличие команды, которую использует gparted, и попытался отформатировать usb, больной этой командой, на моем Raspberry Pi. Это все еще занимало некоторое время (около минуты), но это работало.

sudo mkfs.ext4 -F -O ^64bit -L "YOUR_LABEL" /dev/sda1
0

Вы также можете использовать parted для этой цели. Я отформатировал два внешних диска с разделением как ext4, и они работают хорошо.

Перед подключением устройства выполните команду ls -t /dev | grep sd и запустите его снова после подключения и запишите букву устройства (я буду использовать sdX). Размонтируйте диск, если он подключен автоматически (при подключении он будет иметь номер раздела):

sudo umount /dev/sdX1

Запустите parted без номера раздела a от имени пользователя root:

sudo parted /dev/sdX

mklabel gpt
mkpart primary
mkpart primary ext 0% 100%
quit

И отформатируйте его (с номером раздела):

mkfs.ext4 /dev/sdX1

Теперь подключите и отключите устройство, если оно не монтируется автоматически, подключите его как root. Обратите внимание, что, поскольку Rpi является устройством с низким энергопотреблением, порт USB не питает внешний жесткий диск, на котором нет отдельного источника питания.

-1

Используйте команду tune2fs для настройки некоторых параметров:

  1. tune2fs -m 0 /dev/sda1
  2. tune2fs -L bakap01 /dev/sda1

Опция -m предназначена для настройки процента зарезервированных блоков. Зарезервированные блоки используются привилегированными процессами, размер которых по умолчанию составляет 5% от размера жесткого диска. (Я предполагаю), поскольку вы используете внешний жесткий диск исключительно в качестве хранилища, я установил это значение на 0, чтобы я мог также использовать эти 5% для хранения. Опция -L предназначена для маркировки файловой системы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .