Альтернативный способ заработать щедрость: Покажите мне, как сохранить файловую систему как ext4 (FS, который может хранить большие файлы, мне действительно не нужен весь хороший материал ext4, предусматривает этот вариант использования) во многих маленьких файлах (<4 гибибайта) сохраненный на (рабочем) отформатированном FAT разделе.
У меня есть SD-карта (рекламируйте, поскольку 64 ГБ, но кроме обычных носителей имеют меньше, чем тот (она имеет 63'416'827'904 байта)), и слот SD на моем ноутбуке (Acer Aspire VN7-591G-70CY). SD-карта работала с моим предыдущим ноутбуком без проблем и отформатирована с ext4.
Я попробовал sudo modprobe -r r852; sudo modprobe -r sdhci_pci; sudo modprobe r852; sudo modprobe sdhci_pci
который помог другим, но ничего не сделал для меня.
SD-карта работает с SD-картой к USB-адаптеру. При использовании этого адаптера SD-карта /dev/sdb
и единственный раздел на нем /dev/sdb1
. Когда я поместил его в слот для SD-карты, это /dev/mmcblk0
и его раздел /dev/mmcblk0p1
.
Когда я ввожу SD-карту в слот, наутилус говорит:
Ошибка, монтирующаяся/dev/mmcblk0p1 в/media/christoph/e07d3be4-bd85-4eb2-9205-d6638ab37704: командная строка 'монтирует-t "ext4"-o "uhelper=udisks2, nodev, nosuid" "/dev/mmcblk0p1" "/media/christoph/e07d3be4-bd85-4eb2-9205-d6638ab37704"' вышедший с ненулевым статусом выхода 32: смонтируйтесь: неправильный тип фс, плохая опция, плохой суперблок на/dev/mmcblk0p1, пропуская кодовую страницу или программу помощника или другую ошибку
In some cases useful info is found in syslog - try dmesg | tail or so.
Монтирование его вручную приводит к в значительной степени тому же сообщению об ошибке:
смонтируйтесь: неправильный тип фс, плохая опция, плохой суперблок на/dev/mmcblk0p1, пропуская кодовую страницу или программу помощника или другую ошибку
In some cases useful info is found in syslog - try dmesg | tail or so.
Теперь странная часть - это dd
кажется, не работает ни в одном случае. Я скопировал первых 100 мебибайт из каждого /dev/sdb
, /dev/sdb1
, /dev/mmcblk0
и /dev/mmcblk0p1
и ранее в этот день даже получил соответствие sha256-суммам.
Они теперь не соответствуют больше, но очень похожи в пути, которые за исключением немного в начале почти исключительно состоят из нулевых байтов даже при том, что SD-карта почти совершенно полна (и заполненный сжатыми и зашифрованными данными, таким образом, там не был должен меня много нулевых байтов).
Таким образом, я заменил каждый экземпляр 4 последовательных нулевых байтов в $mmcblk0
(копии я сделал через dd
названы точно тем же как устройства, но я, но знак доллара перед именем, таким образом, они могут дифференцироваться), с простым небытием в Hex-редакторе и закончился с файлами, просто являющимися 129,4 КБ для r$sdb
('r' для 'уменьшенного' / 'заменен'), и 312,7 КБ для r$mmcblk0
вместо того, чтобы быть 104,9 МБ каждый.
r$sdb
указали точку монтирования в начале (и я понятия не имею почему). Это действительно - точка монтирования, на которой была смонтирована SD-карта. Затем прибывает, случайным образом кажущиеся данные с большим количеством повторений, сопровождаемых большим количеством байтов FF, сопровождаемых подлинными именами файлов, экономили на SD-карте, сопровождаемой немного более случайным образом кажущимися данными, но не очень.
О кулаке 1 600 байтов в r$mmcblk0
точно то же как в r$sdb
(это включает точку монтирования даже при том, что SD-карта не могла быть смонтирована в то время как в слоте). Затем прибывает случайным образом кажущиеся данные с большим количеством повторений, но с большими блоками, сделанными из печатаемых символов включая пути к файлам, сопровождаемые байтами FF, сопровождаемыми точно тем же как окончание r$sdb
(подлинные имена файлов экономили на SD-карте, сопровождаемой немного более случайным образом кажущимися данными, но не очень).
Можно ли помочь мне разрешить проблему и возможно сказать мне почему dd
производит эти странные данные?
Я выяснил, как заставить его работать с FAT сам. Я работал apt-get install nfs-common
, перезагруженный и теперь FAT работает. К сожалению, FAT является поганой файловой системой, которая не поддерживает загрузки материала, и мне нужен файл многие ГБ в размере, которые не поддерживаются FAT. Таким образом, я не могу использовать SD-карту с FAT вообще.
Если я форматирую раздел с ext4, та же ошибка, как ранее происходит. Для FAT все кажется прекрасным.
Существует ли команда, чтобы заставить его работать на ext4 также?
$ sudo fdisk -l
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 2D8D2D1D-B17D-4F86-ACD1-743E6B376EFE
Device Start End Sectors Size Type
/dev/sda1 2048 1230847 1228800 600M Windows recovery environment
/dev/sda2 1230848 1845247 614400 300M EFI System
/dev/sda3 1845248 2107391 262144 128M Microsoft reserved
/dev/sda4 1716043776 1920843775 204800000 97.7G Microsoft basic data
/dev/sda5 1920843776 1953523711 32679936 15.6G Windows recovery environment
/dev/sda6 2107392 36923391 34816000 16.6G Linux swap
/dev/sda7 36923392 1716043775 1679120384 800.7G Linux filesystem
Partition table entries are not in disk order.
Disk /dev/mmcblk0: 59.1 GiB, 63416827904 bytes, 123860992 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
Disklabel type: dos
Disk identifier: 0xd69abc36
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 2048 123860991 123858944 59.1G 83 Linux
Disk /dev/mapper/cryptswap1: 16.6 GiB, 17825267712 bytes, 34814976 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation HM86 Express LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev a2)
07:00.0 Network controller: Intel Corporation Wireless 7265 (rev 48)
08:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
Я думаю, что последняя часть вывода dmesg интересна:
[10106.153215] mmc0: new ultra high speed SDR50 SDXC card at address 59b4
[10106.153349] mmcblk0: mmc0:59b4 SD 59.0 GiB
[10106.158564] mmcblk0: unknown partition table
[10109.748018] mmcblk0: p1
[10110.393758] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0x900
[10111.098030] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0x900
[10111.862596] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0x900
[10111.862610] EXT4-fs (mmcblk0p1): Magic mismatch, very weird!
[10201.953257] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0x900
[10202.553754] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0x900
[10202.555661] EXT4-fs (mmcblk0p1): ext4_check_descriptors: Checksum for group 48 failed (26727!=0)
[10202.555664] EXT4-fs (mmcblk0p1): group descriptors corrupted!
По-моему, Ваш Читатель SD-карты перестал работать . Существует очень высокая вероятность потери данных. FAT работает, вероятно, потому что он имеет меньше функций проверки ошибок, но это не означает ошибок! FAT Использования с экстремальной осторожностью. Берут резервные копии, если Вы будете хранить важные данные. Или скорее не храните важные данные, или просто используйте Картридер USB. Однако
Попытка, восстанавливающая Вашу SD-карту, которая является стандартной процедурой:
sudo e2fsck -f -C 0 /dev/mmcblk0p1
e2fsck
утилита Linux для восстановления основанных на расширении файловых систем. Так или иначе я не ожидаю, что он будет работать.
Так, как другой ответ предполагает, картридер не мог бы поддерживать такой большой диск. Но то, что работы FAT указывают, что это возможно с добавленной возможностью того, чтобы быть завинченным.
Это вещи, которые можно попробовать, но я не знаю, будут ли они работать: Разделите его в два, или даже четыре диска, если это подойдет Вам, и затем продвигаться с ext4. Или как насчет того, чтобы создать меньший раздел и оставить остальных как свободное пространство? Вы могли дать ему попытку.
Наконец, начиная с работ FAT, (помнят, вероятно, потому что это делает мало проверки ошибок) exFAT мог отвечать Вашим требованиям хранения размеров файла, больше, чем 4 ГБ. Посмотрите, как сделать это здесь .
Я полагаю, что проблема вызывается тем, что этот конкретный SD cardreader неспособен считать SD-карты, которые имеют способность на 64 ГБ, в то время как другой в Вашем предыдущем ноутбуке, по-видимому, может считать такие карты. Не все картридеры имеют те же спецификации. При покупке картридера, указано в документации, чем самая большая мощность состоит в том, что читатель может обработать. Когда это уже находится в ноутбуке, необходимо будет понять его, что это может обработать. В настоящее время предел обычно - 32 ГБ. К сожалению, Вы не можете изменить это свойство.
Рассмотрение новой информации, Вы добавили к вопросу, что у меня есть другой подход для Вас.
В GParted форматируют раздел на карте как ext4. Тогда создайте точку монтирования. Давайте предположим, что это - sd. Таким образом, Вы делаете:
mkdir -p /media/sd
.
Затем для монтирования его Вы делаете:
mount -t ext4 -O noatime,nodiratime /dev/mmcblk0p1 /media/sd
.
вторая команда выше, как предполагается, находится на одной строке. Вероятно, необходимо предварительно ожидать эти команды с sudo. Можно также использовать флаги во второй команде в/etc/fstab.