Я столкнулся с проблемой, когда все инструменты раздела рассматривают мою SD-карту как карту 30 ГБ размером. Но когда я купил карту I ясно remeber, карта имела 64 ГБ, и кроме того она записана на карте "ScanDisk Крайние 64 ГБ". Макс. способность изменилась после того, как я решил переформатировать свою SD-карту с ext4 файловой системой (файловая система была exFAT прежде). Затем независимо от того, что я попытался сделать, ничто не помогло мне восстановить способность назад. То, что я попробовал, было gparted, fdisk, и даже пыталось использовать инструменты Windows SDFormatterv4 и diskpart. Но я использую инструменты окон под VirtualBox, потому что моей основной ОС является Ubuntu. У меня нет предварительно установленного Windows OS на диске phisycal. Я погуглил и нашел только решения, когда Windows действительно видит только первый раздел на SD-картах. Но я думаю, что это не мой случай, потому что я не использую Windows, по крайней мере. Но так или иначе я попробовал те решения, что не сделало помог мне. Как восстановить способность к первоначальному размеру?
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 698.7G 0 disk
├─sda1 8:1 0 171.2G 0 part /
├─sda2 8:2 0 7.6G 0 part
├─sda3 8:3 0 163G 0 part
└─sda4 8:4 0 356.9G 0 part /home
sdb 8:16 1 27.5G 0 disk
sr0 11:0 1 1024M 0 rom
# parted -l
... /dev/sda skipped ...
Model: Generic USB SD Reader (scsi)
Disk /dev/sdb: 29.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
Я подключаю SD-карту через читателя SD. Поскольку Вы видите, что/dev/sdb не имеет никаких разделов вообще
# dmesg | tail -n 20
[ 9203.022463] usb 2-5: New USB device found, idVendor=090c, idProduct=6200
[ 9203.022475] usb 2-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 9203.022482] usb 2-5: Product: Generic USB2.0 card
[ 9203.022487] usb 2-5: Manufacturer: Silicon Motion, Inc.
[ 9203.022492] usb 2-5: SerialNumber: 12345678901234567890
[ 9203.022997] usb-storage 2-5:1.0: USB Mass Storage device detected
[ 9203.024017] scsi17 : usb-storage 2-5:1.0
[ 9204.024052] scsi 17:0:0:0: Direct-Access Generic USB SD Reader 1.00 PQ: 0 ANSI: 0 CCS
[ 9204.024780] sd 17:0:0:0: Attached scsi generic sg2 type 0
[ 9204.027078] sd 17:0:0:0: [sdb] 57626624 512-byte logical blocks: (29.5 GB/27.4 GiB)
[ 9204.030200] sd 17:0:0:0: [sdb] Write Protect is off
[ 9204.030205] sd 17:0:0:0: [sdb] Mode Sense: 4b 00 00 08
[ 9204.031340] sd 17:0:0:0: [sdb] No Caching mode page found
[ 9204.031344] sd 17:0:0:0: [sdb] Assuming drive cache: write through
[ 9204.034209] sd 17:0:0:0: [sdb] No Caching mode page found
[ 9204.034212] sd 17:0:0:0: [sdb] Assuming drive cache: write through
[ 9204.049098] sdb:
[ 9204.051865] sd 17:0:0:0: [sdb] No Caching mode page found
[ 9204.051876] sd 17:0:0:0: [sdb] Assuming drive cache: write through
[ 9204.051885] sd 17:0:0:0: [sdb] Attached SCSI removable disk
волшебство :-( 64 Гбита исчезли. вот фотография моей SD-карты и ее средства чтения
# hdparm -N /dev/sdb
/dev/sdb:
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
max sectors = 0/1, HPA is enabled
Что я пытался помнить и узнанный с Вашими парнями справки!
В первый раз, когда я купил карту, я не проверял ПК, если моя SD-карта имеет способность на 64 ГБ. Только моя камера показывает мне, что я могу, записывая видео в течение 9 часов. Если я вставляю SD-карту на 32 ГБ затем мои шоу камеры, я могу записать видео в течение 4 часов. Это означает одну из карты, больше, чем другой. Плюс существует заголовок на картах 64 ГБ и 32 ГБ соответственно. Таким образом на тех фактах я сделал заключение что одна карта 32 ГБ и еще 64 ГБ.
Но когда я вставляю карту на 64 ГБ в свой ПК, я узнал, что это только имеет 30 ГБ. И я начал связывать его к форматированию с ext4 файловой системой по ошибке (потому что я форматировал, прежде чем я проверю размер)! Почему я думаю, что это была ошибка? Поскольку я переформатировал SD-карту назад к экс-жиру, затем проверил размер на ПК, и это было все еще ~30GB. Затем я inderted к моей камере. Моя камера показывает, что я могу записать видео 9 часов длиной против 4 часов с картой на 32 ГБ! Это означает, что способность не потеряна.
Так вопрос, кто лежит камера или ПК? Кажется, что HPA является первопричиной, и ПК получил некоторое пространство моей SD-карты.
Я пытался отформатировать SD-карту на своем устройстве на базе Android. И наконец ПК показывает мне 64 ГБ
# dmesg | tail -n 20
[15394.096958] usb-storage 2-5:1.0: USB Mass Storage device detected
[15394.097115] scsi22 : usb-storage 2-5:1.0
[15395.097725] scsi 22:0:0:0: Direct-Access Generic USB SD Reader 1.00 PQ: 0 ANSI: 0 CCS
[15395.097962] sd 22:0:0:0: Attached scsi generic sg2 type 0
[15395.099192] sd 22:0:0:0: [sdb] 57626624 512-byte logical blocks: (29.5 GB/27.4 GiB)
[15395.099822] sd 22:0:0:0: [sdb] Write Protect is off
[15395.099824] sd 22:0:0:0: [sdb] Mode Sense: 4b 00 00 08
[15395.100449] sd 22:0:0:0: [sdb] No Caching mode page found
[15395.100452] sd 22:0:0:0: [sdb] Assuming drive cache: write through
[15395.108424] sd 22:0:0:0: [sdb] No Caching mode page found
[15395.108427] sd 22:0:0:0: [sdb] Assuming drive cache: write through
[15395.123181] sdb: sdb1
[15395.123185] sdb: p1 size 124733440 extends beyond EOD, enabling native capacity
[15395.125048] sd 22:0:0:0: [sdb] No Caching mode page found
[15395.125056] sd 22:0:0:0: [sdb] Assuming drive cache: write through
[15395.125836] sdb: sdb1
[15395.125847] sdb: p1 size 124733440 extends beyond EOD, truncated
[15395.129559] sd 22:0:0:0: [sdb] No Caching mode page found
[15395.129570] sd 22:0:0:0: [sdb] Assuming drive cache: write through
[15395.129578] sd 22:0:0:0: [sdb] Attached SCSI removable disk
# df -h | grep sdb
/dev/sdb1 60G 20K 60G 1% /media/alek/C8AE-0ADD
Но все еще HPA включен
# hdparm -N /dev/sdb
/dev/sdb:
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
max sectors = 0/1, HPA is enabled
Я купил карту. Камера показывает, что я могу записать с новой картой дольше (в два раза) видео, чем если бы я использовал старый с размером 32 ГБ.
Я форматировал SD-карту на своем ПК с ext4 файловой системой. Я проверил способность в первый раз, когда и это были приблизительно 30 ГБ.
Я форматировал SD-карту назад с экс-жиром. Я проверил способность на ПК. Это были все еще приблизительно 30 ГБ. Я вставил SD-карту в свою камеру. Камера показывает, что я могу записать видео дольше что с помощью карты на 32 ГБ как прежде.
Я переформатировал SD-карту на устройстве на базе Android. Устройство на базе Android показывает, что карта имеет способность на 60 ГБ. Затем я вставил карту в ПК. ПК начал показывать корректную способность - 60 ГБ.
Это было добавлено после того, как я форматировал на устройстве на базе Android. Таким образом, это показывает приблизительно 64 ГБ.
# sgdisk --print /dev/sdb
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************
Warning! Secondary partition table overlaps the last partition by
67108897 blocks!
You will need to delete this partition or resize it in another utility.
Disk /dev/sdb: 57626624 sectors, 27.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): B5FDFA69-32D4-42B0-B8A3-B14DF7A513B5
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 57626590
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 124735487 59.5 GiB 0700 Microsoft basic data
dd, если =/dev/zero of=1gb_file bs=1024 count=1048576
Скопированный это 60 раз в SD-карту
поскольку я в seq 1 60
; действительно повторите-n ($i); CP-v 1gb_file/media/alek/C8AE-0ADD/$i;готово
(1) «1gb_file»-> «/media/alek/C8AE-0ADD/1» (2) «1gb_file»-> «/media/alek/C8AE-0ADD/2» (3) «1gb_file»-> «/media/alek/C8AE-0ADD/3»
...
(57) «1gb_file»-> «/media/alek/C8AE-0ADD/57» (58) «1gb_file»-> «/media/alek/C8AE-0ADD/58» (59) «1gb_file»-> «/media/alek/C8AE-0ADD/59»
(60) «1gb_file»-> «/media/alek/C8AE-0ADD/59»
CP: ошибка, пишущая ‘/media/alek/C8AE-0ADD/60’: Никакое пространство не оставлено на устройстве
CP: не удалось расшириться ‘/media/alek/C8AE-0ADD/60’: Никакое пространство не оставлено на устройстве
Только последняя команда перестала работать, потому что диск был полон. Таким образом, я мог записать приблизительно 60 ГБ в свою SD-карту.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 698,7G 0 disk
├─sda1 8:1 0 171,2G 0 part /
├─sda2 8:2 0 7,6G 0 part
├─sda3 8:3 0 163G 0 part
└─sda4 8:4 0 356,9G 0 part /home
sdb 8:16 1 27,5G 0 disk
└─sdb1 8:17 1 27,5G 0 part /media/alek/C8AE-0ADD
sr0 11:0 1 1024M 0 rom
# dd if=/dev/sdb of=/dev/null
57626624+0 records in
57626624+0 records out
29504831488 bytes (30 GB) copied, 1518,73 s, 19,4 MB/s
Это - проблема со средством чтения SD-карты.
Я предполагаю, что опишу свои заключения как ответ теперь. Короткий ответ - то, что Ваш читатель SD-карты USB является дефектным. Это сообщает, что размер карты меньше, чем это действительно. Когда Вы форматируете карту в своем устройстве на базе Android (использующий его полную мощность), затем монтируете его в Вашем компьютере, Вы не можете правильно получить доступ к полному диску, таким образом, Вы быстро повредите файлы.
Возврат или иначе избавляется от Вашего текущего читателя и получает нового, который правильно распознает полную мощность карты.
Я думаю, что Ваш читатель SD-карты является стандартом HC, таким образом, он может считать SD-карты на 32 ГБ, для более высоких полных SD-карт Вам нужны типичные читатели XC.