Pull to refresh

USB Flash 64Gb: boot (невидимый в Windows) + обычный накопитель (видимый в Windows)

Имеем USB Flash накопитель 64Gb.
Хотим получить:
1 — мультизагрузочную флешку, при том не хотим что бы загрузочный раздел был виден под Windows;
2 — оставшееся свободное пространство флешки хотим видеть под Windows обычным USB Flash.

Для начала немного теории.
По какой-то непонятной причине, программисты Microsoft решили, что все съемные носители могут иметь только 1 раздел и все. В следствии этого создавая на USB Flash несколько разделов, мы под Windows можем видеть обычными средствами операционной системы только тот раздел, который в таблице разделов указан первым. Данным обстоятельством мы и воспользуемся. Создадим два раздела на флешке, второй (который будет недоступен из под Windows) сделаем загрузочным и разместим на нем все необходимое для мультизагрузки, а первый просто отформатируем.
При загрузке с этой флешки у нас будет запускаться Grub, но MBR Grub`а использовать мы не будем. Почему? Grub, при загрузке, считает флешку, на которой расположен, первым жестким диском. Но, по результатам собственных экспериментов, не все материнские платы считают таковым флешку с MBR от Grub`а. Некоторые материнские платы считают их съемными носителями, и Grub, пытаясь найти свой загрузчик на первом жестком диске, выдает ошибку. Проблема решается просто: на флешку пишется MBR от Windows, а загрузчик Grub`а переименовывается в NT загрузчик.

Начнем.

В мультизагрузке я буду использовать следующие пункты меню:
1 — Загрузка с жесткого диска.
2 — Загрузка с CD/DVD.
3 — Запуск Memtest 86+ v.4.20
4 — Запуск MHDD v.4.6
5 — Запуск Acronis Disk Director
6 — Запуск Dr. Weber Live CD 6.0
7 — Установка Windows 7 Ultimate x64
8 — Установка Ubuntu Linux Desktop 12.04.1 x64
9 — Установка Ubuntu Linux Server 12.04.1 x64
10 — Перезагрузка компьютера
11 — Выключение компьютера

Собирать, для начала, все файлы загрузочного раздела будем в папке на жестком диске.
Для начала нам потребуется Grub4Dos. Взять последнюю версию можно тут.
Из архива нам понадобятся файл grldr. Копируем его в нашу папку. Переименовываем в ntldr.
Использовать мы будем GFX тему оформления меню Grub`а, так покрасивее будет. Я использовал тему pipboy.gz из игры FollOut 2.
Для этого создаем в нашей папке подкаталог boot и копируем туда GFX тему pipboy.gz. Далее в настройках Grub мы укажем к этой теме путь.
Взять готовую тему можно тут.
Инструкции по созданию своей GFX-темы тут.
Настройки Grub хранятся в файле menu.lst. Создадим его в той же папке и откроем в любом текстовом редакторе. и приведем к следующему виду:

timeout 30
gfxmenu /BOOT/pipboy.gz
default 0

title Загрузка с жёсткого диска
find --set-root --ignore-floppies --ignore-cd /bootmgr || find --set-root --ignore-floppies --ignore-cd /ntldr
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
rootnoverify (hd0)
chainloader (hd0)+1

title Загрузка c CD/DVD-ROM
cdrom --init
map --hook
chainloader (cd0)

title Запуск Memtest 86+ v.4.20
find --set-root /BOOT/MT420.iso
map --mem /BOOT/MT420.iso (hd32)
map --hook
chainloader (hd32)

title Запуск MHDD v.4.6
find --set-root /BOOT/mhdd32ver4.6.iso
map --mem /BOOT/mhdd32ver4.6.iso (hd32)
map --hook
chainloader (hd32)

title Запуск Acronis Disk Director
find --set-root /BOOT/ADD.iso
map --mem /BOOT/ADD.iso (hd32)
map --hook
chainloader (hd32)

title Запуск Dr. Weber Live CD 6.0
find --set-root /BOOT/drweb.iso
map --mem /BOOT/drweb.iso (hd32)
map --hook
chainloader (hd32)

title Установка Windows 7 Ultimate x64
map --unmap=0:0xff
map --unhook
root (hd0,1)
chainloader /bootmgr

title Установка Ubuntu Linux Desktop 12.04.1 x64
find --set-root /BOOT/ubuntud64.iso
map --mem /BOOT/ubuntud64.iso (hd32)
map --hook
chainloader (hd32)

title Установка Ubuntu Linux Server 12.04.1 x64
find --set-root /BOOT/ubuntus64.iso
map --mem /BOOT/ubuntus64.iso (hd32)
map --hook
chainloader (hd32)

title Перезагрузка компьютера
reboot

title Выключение компьютера
halt


Описывать каждый пункт меню не имеет смысла. Инструкции по настройке на русском языке тут.
Заострю внимание только на этом:
title Установка Windows 7 Ultimate x64
map --unmap=0:0xff
map --unhook
root (hd0,1)
chainloader /bootmgr

Здесь указан второй раздел диска а не первый не случайно (root (hd0,1) а не root (hd0,0)). Просто раздел на котором будет храниться вся мультизагрузка как раз и будет вторым, дабы его не видела Windows.
Так же обратите внимание на название файлов образов (*.iso). Имена изменены с оригинальных просто для удобства:
find --set-root /BOOT/ubuntus64.iso
map --mem /BOOT/ubuntus64.iso (hd32)


Теперь начнем закидывать в эту папку содержимое для загрузки.
Для начала распакуем содержимое образа установочного диска Windows 7 в нашу папку. Потом закинем в папку boot все используемые загрузочные образы:
Memtest 86+
MHDD
Acronis Disk Director Boot ISO
Dr. Weber Live CD
Ubuntu

Далее нам потребуется утилита для работы с разделами жестких дисков. Я, например использовал MiniTool Partition Wizard Home Edition 7.7:
1 — Удаляем все разделы с нашей флешки.
2 — Создаем основной (primary) раздел 16 Gb (этого должно хватить).
3 — Форматируем его в NTFS.
4 — Применяем изменения.
Далее нам необходимо скопировать все содержимое нашей папки на флешку.
Снова обращаемся к MiniTool Partition Wizard:
1 — Копируем наш первый раздел в конец флешки (можно при этом сжать раздел до необходимого размера). ВАЖНО!!! Копируем так же в основной раздел (primary).
2 — Первый раздел растягиваем на все оставшееся свободное пространство.
3 — Форматируем первый раздел.
4 — Помечаем второй раздел как активный (делаем его загружаемым).
5 — Применяем изменения.

ГОТОВО!!!
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.