Сегодня я задался целью, я хочу разобрать во всех шагах что нужно чтобы подготовить загрузочную флешку с осью Windows 7 на борту из под моей рабочей/домашней системы Ubuntu 12.04.5 Desktop amd64 (Gnome Classic). И все задуманное у меня получилось. Ниже указаны команды как я этого добился — все ниже писалось в процессе чтения документации и разумного анализа что я в итоге должен получиться. Кому надо за подробностями пусть сам ищет, а не идет только за разжеванным. Пишу в первую очередь только для себя.
Пошаговые действия:
Обычно когда на подключенной Flash создаем раздел
ekzorchik@navy:~$ sudo fdisk /dev/sdb
d,n,p,1,enter,+7G,w
ekzorchik@navy:~$ sudo partprobe
ekzorchik@navy:~$ sudo fdisk -l /dev/sdb
Диск /dev/sdb: 7893 МБ, 7893680128 байт
57 головок, 16 секторов/треков, 16904 цилиндров, всего 15417344 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x00000000
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 2048 14682111 7340032 83 Linux
То идентификатор раздела имеет атрибут 83 что значит под Linux, а мне нужно чтобы было под Windows
Ниже как сделать раздел на флешки в файловой системе HPFS/NTFS/exFAT:
ekzorchik@navy:~$ sudo fdisk /dev/sdb
Команда (m для справки): d
Выбранный раздел 1
Команда (m для справки): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e расширенный
Select (default p): p
Номер раздела (1-4, по умолчанию 1): 1
Первый сектор (2048-15417343, по умолчанию 2048):
Используется значение по умолчанию 2048
Last сектор, +секторы or +size{K,M,G} (2048-15417343, по умолчанию 15417343): +7G
Команда (m для справки): t
Выбранный раздел 1
Шестнадцатеричный код (введите L для получения списка кодов): 7
Системный тип раздела 1 изменен на 7 (HPFS/NTFS/exFAT)
Команда (m для справки): a
Номер раздела (1-4): 1
На заметку: можно также атрибут для раздел, как «загрузочный» выставить следующим образом:
Ubuntu 12.04.5 Desktop amd64 (Gnome Classic) — Приложения — Системные утилиты — Параметры — Дисковая утилита:, находим подключенное устройство (в моем случае это флешка на 8Gb) – “Изменить параметры раздела” – и ставим галочку «Загрузочный» и нажимаем «Применить».
Команда (m для справки): w
Таблица разделов была изменена!
Вызывается ioctl() для перечитывания таблицы разделов.
Синхронизируются диски.
ekzorchik@navy:~$ sudo partprobe
Действиями выше я создал на флешке раздел с файловой системой NTFS и пометил его как «загрузочный».
Проверяю файловую систему:
ekzorchik@navy:~$ sudo fdisk -l /dev/sdb
Диск /dev/sdb: 7893 МБ, 7893680128 байт
16 головок, 16 секторов/треков, 60224 цилиндров, всего 15417344 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x00000000
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 * 2048 14682111 7340032 7 HPFS/NTFS/exFAT
Готово.
Далее создаю каталоги для монтирования флешки и образа Windows:
ekzorchik@navy:~$ sudo mkdir /media/flash
ekzorchik@navy:~$ sudo mkdir /media/cdrom0
Далее монтирую образ Windows посредством обратной петли в систему:
ekzorchik@navy:~$ sudo mount -t udf -o loop /home/ekzorchik/ISO/SW_DVD5_Win_Pro_7w_SP1_64BIT_Russian_MLF_X17-28987.iso /media/cdrom0
mount: блочное устройство /home/ekzorchik/ISO/SW_DVD5_Win_Pro_7w_SP1_64BIT_Russian_MLF_X17-28987.iso защищен от записи, монтируется только для чтения
ekzorchik@navy:~$ df -h | grep cdrom0
/dev/loop1 2,9G 2,9G 0 100% /media/cdrom0
Затем копирую все с подремонтированного через обратную петлю образа на флешку:
ekzorchik@navy:~$ sudo mount /dev/sdb1 /media/flash
ekzorchik@navy:~$ sudo cp -R /media/cdrom0/* /media/flash/
Далее мне понадобится утилита ms-sys:
ekzorchik@navy:~$ wget http://freefr.dl.sourceforge.net/project/ms-sys/ms-sys%20stable/2.4.1/ms-sys-2.4.1.tar.gz
ekzorchik@navy:~$ tar zxf ms-sys-2.4.1.tar.gz
ekzorchik@navy:~$ cd ms-sys-2.4.1/
ekzorchik@navy:~/ms-sys-2.4.1$ make
msgfmt -o mo/sv.mo po/sv.po
make: msgfmt: Команда не найдена
make: *** [mo/sv.mo] Ошибка 127
ekzorchik@navy:~/ms-sys-2.4.1$ cd ~
ekzorchik@navy:~$ sudo apt-get install gettext -y
ekzorchik@navy:~$ cd ms-sys-2.4.1/
ekzorchik@navy:~/ms-sys-2.4.1$ make clean
rm -f po/messages.po
rm -f mo/*.mo
rm -f obj/*.o
rm -f /*.a
rm -f bin/ms-sys
ekzorchik@navy:~/ms-sys-2.4.1$ make
ekzorchik@navy:~/ms-sys-2.4.1$ sudo make install
install -D -m 755 bin/ms-sys /usr/local/bin/ms-sys
mkdir -p /usr/local/share/locale/sv/LC_MESSAGES
install -D -m 644 mo/sv.mo /usr/local/share/locale/sv/LC_MESSAGES/ms-sys.mo
install -D -m 644 man/ms-sys.1 /usr/local/man/man1/ms-sys.1
ekzorchik@navy:~$ sudo ms-sys -7 /dev/sdb
, где «-7, –mbr7 Write a Windows 7 MBR to device»
Windows 7 master boot record successfully written to /dev/sdb
ekzorchik@navy:~/ms-sys-2.4.1$ cd ~/
ekzorchik@navy:~$ sudo umount /media/cdrom0
ekzorchik@navy:~$ sudo umount /media/flash
И вот и все, флешка с записанным образом Windows 7 x64 успешно записана.
Проверяю, мне нужно переустановить на ноутбуке систему с Windows 7 x64 Домашняя на Windows 7 x64 Профессиональная, выставляю через Bios загрузку с флешки и в момент когда должна начаться установка у меня сообщение на черном экране белыми буквами:
«This is not a bootable disk. Please insert a bootable floppy and press any keys to try again…»
Вопрос почему так?
Попробую все заново сделать, но вместо утилиты fdisk используя утилиту parted:
ekzorchik@navy:~$ sudo parted /dev/sdb
GNU Parted 2.3
Используется /dev/sdb
Добро пожаловать в GNU Parted! Наберите ‘help’ для просмотра списка команд.
(parted) mklabel msdos
Предупреждение: Существующая метка диска на /dev/sdb будет уничтожена и все
данные на этом диске будут утеряны. Вы хотите продолжить?
Да/Yes/Нет/No? Yes
(parted) mkpart primary ntfs 1 -1
(parted) set 1 boot on
(parted) quit
Информация: Не забудьте обновить /etc/fstab.
ekzorchik@navy:~$ sudo mkfs.ntfs -f /dev/sdb1
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
ekzorchik@navy:~$ sudo ms-sys -7 -f /dev/sdb
Windows 7 master boot record successfully written to /dev/sdb1
ekzorchik@navy:~$ sudo mount /dev/sdb1 /media/flash
ekzorchik@navy:~$ sudo mount -o loop /home/ekzorchik/ISO/SW_DVD5_Win_Pro_7w_SP1_64BIT_Russian_MLF_X17-28987.iso /media/cdrom0
mount: блочное устройство /home/ekzorchik/ISO/SW_DVD5_Win_Pro_7w_SP1_64BIT_Russian_MLF_X17-28987.iso защищен от записи, монтируется только для чтения
ekzorchik@navy:~$ dir -sh /home/ekzorchik/ISO/SW_DVD5_Win_Pro_7w_SP1_64BIT_Russian_MLF_X17-28987.iso
2,9G /home/ekzorchik/ISO/SW_DVD5_Win_Pro_7w_SP1_64BIT_Russian_MLF_X17-28987.iso
ekzorchik@navy:~$ sudo cp -av /media/cdrom0/* /media/flash/
ekzorchik@navy:~$ sudo umount /media/flash
ekzorchik@navy:~$ sudo umount /media/cdrom0
Проверяю на ноутбуке (Packard Bell EasyNote TE11HE) работоспособность данной загрузочной флешки:
и вуаля установка пошла (заработало), все как обычно когда ставим Windows 7 систему с флешки или диска.
А вот и еще одна неприятность, после выбора региональный настроек языка и клавиатуры установщик заругался:
«Не найден необходимый драйвер для дисковода оптических дисков. Если у Вас есть дискета, CD, DVD или флэш-носитель USB с этим драйвером, вставьте этот носитель.»
После чтения мануалов по Windows 7 и данному ноутбуку вышел на такое замечание: Windows 7 не поддерживает установку с интерфейса USB 3.0
, а потому переделываю запись установочного образа Windows 7 на другую флешку с интерфейсом USB 2.0
[9056367.556206] sd 61:0:0:0: Attached scsi generic sg2 type 0
[9056367.560776] sd 61:0:0:0: [sdb] 7639040 512-byte logical blocks: (3.91 GB/3.64 GiB)
[9056367.561946] sd 61:0:0:0: [sdb] Write Protect is off
[9056367.561961] sd 61:0:0:0: [sdb] Mode Sense: 23 00 00 00
[9056367.564096] sd 61:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn’t support DPO or FUA
[9056367.570883] sdb: sdb1
На заметку: разъем у носителя USB 3.0 — синий, а USB 2.0 — черный.
На заметку: только процесс копирования файлов из образа на флешку слишком долог сказывает разница в скорости интерфейса, ну ничего я ни куда не тороплюсь, ожидаю.
В итоге эффект тот же самый — не может определить драйвер для дисковода оптических дисков.
Короче что я время убиваю, цель заметки было разобрать в шагах как сделать загрузочную флешку — я это разобрал. А вот что на ноутбук не идет установка Windows это уже тема отдельной заметки, а потому я прощаюсь, до новых встреч с уважением автор блога — ekzorchik.
Спасибо