2

Я создал свой собственный Rasbian образ со следующими разделами:

$ sudo fdisk -l 2018-11-13-raspbian-stretch-lite.img
Disk 2018-11-13-raspbian-stretch-lite.img: 2,5 GiB, 2705326080 bytes, 5283840 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: 0x7ee80803

Device                                Boot   Start     End Sectors  Size Id Type
2018-11-13-raspbian-stretch-lite.img1         8192   98045   89854 43,9M  c W95 FAT32 (LBA)
2018-11-13-raspbian-stretch-lite.img2        98304 4292607 4194304    2G 83 Linux
2018-11-13-raspbian-stretch-lite.img3      4292608 4395007  102400   50M 83 Linux
2018-11-13-raspbian-stretch-lite.img4      4395008 5283839  888832  434M  c W95 FAT32 (LBA)

Когда я вставляю свою SD-карту в ПК с Windows, я ожидаю, что смогу получить доступ к разделам FAT32 (первый и последний). Вместо этого отображается только первый.

Что здесь не так? Я не вижу различий между ними.

1 ответ1

1

Это "нормально" в системах Windows, кроме Windows 10 от версии 1703.

Эта статья была опубликована сразу после исправления проблемы. Насколько я знаю, это было исправлено только в Windows 10. Несколько цитат:

Microsoft тайно добавила новую функцию в обновление для создателей Windows 10: это первая сборка Windows, которая поддерживает несколько разделов на съемных носителях (например, USB-флешках). [...]

Носители, такие как жесткие диски и съемные носители (флешки), подразделяются на две категории:

  • Жесткие диски и носители с набором Fixed Media Bit
  • Сменные носители (например, USB-накопители) с набором съемных носителей (RMB)

Бит фиксированного или съемного носителя устанавливается микропрограммой контроллера носителя.

[...]

Носители с установленным битом съемного носителя (RMB) рассматриваются в Windows как съемные устройства. Windows имеет ограничения для съемных носителей - например, файловая система Windows (Windows Explorer) может монтировать только первый раздел на таком устройстве.

Возможно, создать несколько разделов на флешку с помощью инструментов сторонних разработчиков или Linux или даже Windows , утилита командной строки diskpart Но (в отличие от Linux) Windows покажет только первый раздел в Explorer, например. Все остальные разделы игнорируются. Это вызывает конфликты, если мультисекционная флешка, созданная в Linux, должна быть отформатирована в Windows. Windows форматирует только первый раздел.

Насколько я знаю, нет технической причины (и никогда не было причины) относиться к съемным носителям таким образом. Тем более что для некоторых носителей можно перевернуть соответствующий бит, и тогда Windows волшебным образом начнет обращаться с ними правильно. Похоже, что вся эта проблема является следствием неясного произвольного решения, принятого Microsoft много лет назад.

Поэтому я предполагаю, что вы используете либо устаревшую Windows 10, либо любую более старую Windows, и то, что вы считаете "нормальным".

Очевидный совет - использовать современную Windows 10 или Linux. Если по какой-либо причине вы хотите придерживаться своего текущего Windows и по-прежнему получать доступ к "отсутствующему" разделу, это ваши варианты:

  • Двойная загрузка: Windows + Linux.
  • Устройство чтения SD-карт, которое представит вашу SD-карту как фиксированный диск. Я полагаю, что это возможно, но я не ожидаю, что вы легко найдете такого читателя.
  • Приложение, которое будет читать файловую систему FAT32 и предоставит вам доступ к ней. Технически возможно, но, возможно, такого приложения даже не существует, потому что «зачем? Windows не поддерживает FAT32 сама по себе?"
  • Виртуальный Linux (например, в VirtualBox) с вашей текущей Windows в качестве хоста. Затем вы подключаете устройство чтения карт USB и используете опцию «USB pass-through». Таким образом, Linux обнаруживает читателя, как если бы он был подключен напрямую, вы можете смонтировать любой раздел. Странные правила монтирования в Windows не повлияют на это. Подход неудобен, потому что любой перенос между Windows и SD-картой должен проходить через Linux. Это может быть вашим лучшим вариантом, хотя.

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