Задача:
Дано:
- Есть лицензионный диск с Windows 7 или ISO-образ этого диска
- Есть флешка, превосходящая своим объёмом размер диска или ISO-образа
- Есть ноутбук, или системный блок, на который нужно установить Windows
- Есть компьютер с установленным Debian GNU/Linux (в моём случае 8.0)
- Нет привода для чтения дисков, ни встроенного, ни переносного
- Нет компьютера с установленной Windows 7
Найти:
- Как записать дистрибутив Windows 7 на флешку, чтобы с неё можно было загрузиться?
Решение задачи:
Подготовка
1. Для начала, если у вас диск с Windows 7, то нужно создать из него ISO-образ.
Для этого можно просто выполнить в консоли команду:
# dd if=/dev/cdrom of=/home/user/windows7image.iso |
разумеется, диск должен быть вставлен, а устройство, которое представляет собой CD-ROM должно быть в /dev/cdrom. Если нет — узнайте где оно (например /dev/sr0) и измените строку.
Путь к файлу тоже стоит установить свой собственный, врядли в системе вас зовут user.
2. Установка ПО:
Установим Unetbootin, который понадобится для создания загрузочного диска, и какую-нибудь утилиту для разбивки диска, в моём случае это partitionmanager (из набора KDE), также, полным аналогом является gparted, а если вам проще разбивать диск в консоли через fdisk или cfdisk — можете вообще не ставить никаких GUI-инструментов для этого.
# apt-get install unetbootin partitionmanager |
Первое форматирование флешки
Обычно на флешках нет таблицы разделов, а, вместо этого, вся флешка отформатирована в FAT32. Нам нужно создать на ней таблицу разделов, один единственный раздел, и отформатировать его в FAT32.
Это нужно для того, чтобы обмануть Unetbootin. В чём заключается обман, будет объяснено похже.
С помощью partitionmanager, gparted или fdisk нужно сделать следующее:
1) Если на флешке нет таблицы разделов — создать её. Тип таблицы разделов — DOS
2) Создать Primary раздел, занимающий ВСЁ место, и отформатировать его в FAT32
3) Включить на разделе флаг Boot
После того, как эти задачи будут выполнены — нужно
4) Выдернуть флешку и вставить её обратно
Запуск и обман Unetbootin
Unetbootin в своей работе нуждается во флешке, отформатированной в FAT32, однако, чтобы флешка с файлами Windows 7 стала загрузочной, она должна быть отформатирована в NTFS. А c NTFS наш Unetbootin, начиная с какой-то древней версии, не работает. Сделано это потому, что драйвера NTFS в Linux долгое время были не очень стабильными и надёжными, а в проблемах, возникающие из-за этого, винили Unetbootin. Также, сделать загрузочную флешку с Linux’ом (для чего изначально предназначался Unetbootin) в файловой системе NTFS не получится.
В связи с вышеописанным, Unetbootin НЕ УВИДИТ вашу флешку, если она будет отформатирована в NTFS.
Итак, запускаем Unetbootin, заранее вставив подготовленную флешку.
1. В нижнем поле «Носитель» должно появиться ваше устройство, с именем, похожим на /dev/sdc1, выбирайте его.
2. Поставьте галочку около пункта «Образ диска»
3. Справа от этого пункта, нажав на кнопку «…» выберите файл ISO-образа.
4. Всё! Больше пока НИЧЕГО нажимать не надо! Закрывать Unetbootin тоже не надо!
«Подстава» NTFS
Теперь, когда Unetbootin уверен, что ему дали правильное FAT32-устройство, нужно сменить файловую систему на NTFS
1. Если флешка была примонтирована — отмонтируем её.
2. Запустил partitionmanager или gparted, форматируем раздел на флешке в формат NTFS. Если лень запускать GUI-приложения, можно сделать это командой:
mkfs.ntfs -f /dev/sdX1 |
где вместо sdX1 нужно подставить имя вашего устройства, например sdc1.
3. После форматирования, вытаскиваем флешку, и вставляем её обратно, после чего монтируем. В KDE, Gnome и прочих *DM вы легко это сделаете одним кликом мышки. В консоли же старая добрая команда:
# mount /dev/sdc1 /mnt/flash |
Итак, после монтирования флешка всё ещё имеет то имя устройства (скажем /dev/sdc1) про которое помнит Unetbootin, но уже имеет другую файловую систему. На самом деле, Unetbootin’у всё равно какая ФС на флешке, ведь он просто копирует файлы в папку, куда примонтирована флешка.
Завершение
1. В окне Unetbootin нажимаем «Ok» после чего начинается процесс копирования установочных файлов Windows на флешку.
2. По завершению Unetbootin предлагает перезагрузиться, что нужно делать только в том случае, если Windows вы хотите установить на тот же самый компьютер.
3. Если перезагрузку вы не нажали — перед выдёргивание флешки не забудьте её по-хорошему отмонтировать.
Можно устанавливать
Если компьютер не грузится с флешки — нужно настроить его BIOS соответствующим образом, либо выбрать вариант загрузки с флешки, нажав на начальном экране BIOS’а кнопку F10 или F12 (у каждого производителя это что-то своё).
Вот здесь статья
phpjs.ru/2017/04/14/создание-загрузочной-флешки-windows-из-под-linux
Спасибо, посмотрел статью.
Хорошая, наверное, утилита winusb, однако автор статьи не указал где её взять. В его инструкции она уже установлена в системе, и без проблем запускается.
В моём же случае, кроме образа диска с Windows, всё остальное устанавливается прямо из репозитория.