Понравилось? Поделись с друзьями:

1 февраля 2012 г.

Использование нескольких разделов на флешке в Windows
[Multiple Partition USB Stick in Windows]

   Статья изменена 02.02.2013: 
   Статья была изменена для работы с BOOTICE v2012.12.05(v1.0.1) (в прошлой версии - использовался BOOTICE v0.9.5.2011, который уже не актуален).
    Итак, мы отформатировали и разбили флешку на разделы, но вот не задача, Windows видит только один раздел. А как увидеть другой раздел? — спросите вы. Я нашел 2 способа работы с другим разделом:
    1 способ. Изменять PartitionTable в BOOTICE.
    2 способ. Подменить драйвер флешки на драйвер HDD.
    1 способ просто переставляет запись о нужном разделе на 1 место в PT, и тем самым позволяет увидеть этот раздел не перезагружая Windows и не добавляя ничего в ОС. 2 способ заставляет видеть флешку как USB-HDD со всеми находящимися на ней разделами, но он работает только с той флешкой и в той системе, в которой он применялся. Есть правда еще один способ, который заключается в программировании контроллера флешки, и практически разделение ее на несколько различных устройств, но он зависит от конкретного контроллера, и велик риск "повредить" флешку.
    Предполагается, что вы уже знакомы с BOOTICE, и уже имеете флешку, отформатированную и разбитую по этой статье: Низкоуровневое форматирование и создание нескольких разделов на флешке [Low level format & Make few partitions].

    Теперь обо всем подробней:

1 способ. Изменение PartitionTable в BOOTICE.

1. Открываем BOOTICE.
2. Выбираем свой накопитель в строке "Destination Disk".
3. Нажимаем "Parts Manage".
4. Выбираем другой раздел, который в данный момент не доступен.
5. Нажимаем "Assign Drive Letter".
6. Видим, что этому разделу, присвоилась буква, и мы можем обращаться к нему обычным способом.
7. Закрываем BOOTICE. Если хотим обратиться к другому разделу, повторяем все действия снова.
Примечание: перед действиями не забудьте закрыть все документы и приложения, открытые с флешки.

2 способ. Подмена драйвера флешки на драйвер HDD.

1. Скачиваем драйвер: USB_LocalDisk.
2. Открываем Диспетчер устройств (например так: Пуск > Выполнить, и ввести devmgmt.msc).
3. Находим вашу флешку:

4. Открываем ее свойства. Переходим на вкладку "Сведения". Копируем "Код экземпляра устройства" (Ctrl+C). Он будет следующего вида:
USBSTOR\DISK&VEN_XXX&PROD_XXX&REV_XXXX\YYYY
Примечание: в Win7 немного другой вид, например у меня такой был код USBSTOR\DiskUFD_2.0_Silicon-Power16G1100

5. Открываем скачанный архив. Находим cfadisk.inf. Открываем его блокнотом. Переходим на 23 строку. Заменяем USBSTOR\DISK&VEN_XXX&PROD_XXX&REV_XXXX на свои данные, удалив данные о ревизии, т.е. те \YYYY что в конце вашей строки. Получаем примерно следующее:

6. Снова открываем "Свойства" вашей флешки в "Диспетчере устройств". Переходим на вкладку "Драйвер". Жмем ""Обновить". Открывается "Мастер обновления оборудования". Выбираем "Установка из указанного места".

7. Жмем "Далее". Выбираем "Не выполнять поиск".

8. Жмем "Далее". Снять галочку с "Только совместимые устройства". Нажать "Установить с диска". Указать путь до драйвера.

9. Нажать ОК. Нажать "Далее". Согласиться с предупреждением. Дождаться завершения установки драйвера:

10. Нажать "Готово".
11. Извлекаем и заново подключаем флешку. Возможно придется перезагрузиться.
12. Теперь ваша флешка в данной ОС будет отображаться как жесткий диск, и можно будет работать с несколькими разделами одновременно.
Примечание: было проверено на x86 Windows XP и 7, на x64 - не работает.

Дальше покажу как сделать флешку загрузочной: как записать на неё загрузчик Grub4Dos, и как с ним работать.

Используемый материал:
http://windata.ru/windows-world/secrety-i-sovety/prevrashhenie-usb-fleshki-v-zhestkij-disk/
http://www.getusb.info/usb-hack-turn-a-usb-stick-into-a-hard-drive-or-local-disk/
http://www.flashboot.ru/index.php?name=News&op=article&sid=5
http://www.911cd.net/forums//index.php?showtopic=18846
http://www.hk-smart.com/computing/usb/multi_part_usb.htm
http://www.msfn.org/board/topic/69211-a-multiple-partition-usb-stick-with-multi-boot-os/
http://savchuck.livejournal.com/10878.html

При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.

12 комментариев:

  1. Анонимный30 июля 2013 г., 3:26

    Спасибо за статью!

    ОтветитьУдалить
  2. Спасибо за статью

    ОтветитьУдалить
  3. Спасибо за статью, очень познавательно.
    У меня такая идея, как сделать первый способ удобнее.

    Допустим у нас 4 раздела на флешке, условно P1, P2, P3, P4.
    Если бы можно было создать такой батник, который бы автоматически проводил действия описанные в способе 1.
    и вот в каждом разделе
    GoToP1.bat
    GoToP2.bat
    GoToP3.bat
    GoToP4.bat

    Кайфуша.

    ОтветитьУдалить
    Ответы
    1. О да, батники было бы классно, тоже думал над этим в свое время, но мне это сделать так и не удалось.
      Но думаю, ситуация могла измениться. Если бы мне это сильно надо было бы, то я бы изучил bootice, возможно в нем появился интерфейс ком.строки, и можно это как то все автоматизировать.

      Отпишитесь, если получится что-нибудь.

      Удалить
    2. я тоже поищу что-нибудь про команды для bootice))

      Удалить
    3. Этот комментарий был удален автором.

      Удалить
  4. Блин)) такой большой коммент написал, и интернет исчез((

    Короче, я все сделал.
    В одной папке на каждом разделе флешки должны быть бат файлы перехода (столько же, сколько и разделов) и bootice.exe

    Ссылка на Google Drive, тут все сделано уже, скачай и пользуйся https://drive.google.com/open?id=0B9hssgbIhzP5d3FpRGozQlhSRkE

    ЗАПУСКАТЬ ТОЛЬКО С ФЛЕШКИ!!!! (завтра встроить защиту от диска С надо будет)

    код бат файла перехода на раздел 0:

    ::выбираем раздел на который хотим перейти
    @set partition=0
    ::находим букву диска с которого запущен BAT-файл (выдает в формате X:\)
    @set drive=%~dp0
    ::убираем \
    @set drive=%drive:~0,2%

    ::запускаем bootice.exe или booticex86.exe или booticex64.exe с параметрами
    @if exist bootice.exe (
    goto bootice
    )
    @if not "%PROCESSOR_ARCHITECTURE%"=="AMD64" (
    goto x86
    )
    @if exist booticex64.exe (
    goto booticex64
    )
    :x86
    @if exist booticex86.exe (
    goto booticex86
    ) else (
    goto thereisnobootice
    )
    :bootice
    @bootice.exe /DEVICE=%drive% /partitions /firstpart=%partition%
    @goto end
    :booticex86
    @booticex86.exe /DEVICE=%drive% /partitions /firstpart=%partition%
    @goto end
    :booticex64
    @booticex64.exe /DEVICE=%drive% /partitions /firstpart=%partition%
    @goto end
    :thereisnobootice
    @echo Missing bootice.exe
    @pause
    :end

    ОтветитьУдалить
    Ответы
    1. думаю целесообразно будет в статью встроить это))

      кстати в этой же папке создал интерактивный батник GoToPart.bat включает в себя все 4 батника)

      кстати никакая защита не нужна)) на системном диске не работает, только на флешках

      Удалить
    2. Значительно укоротил листинг батника. Есть в облаке

      Удалить
  5. урод, сразу не мог написать чтоэто только для 32бит!!!???, всё почти сделал и в конце облом

    ОтветитьУдалить