Установка Windows 7/8 на Mac без использования оптического привода

в 16:23, , рубрики: bootcamp, mac, mac mini, mac os x, macbook air, vdi, virtualbox, windows, windows 7, Windows 8, операционные системы, метки: , , , , , , ,

На многих компьютера Mac сегодня отсутствует оптический привод: он просто не идет в комплекте на macbook air и mac mini, на некоторых MacBook/iMac заменен на дополнительный 2.5 люймовый диск, а некоторых компьютерах привод может просто не работать.

Я перепробовал много способов — пытался установить с USB флешки/диска, все было тщетно (далеко не каждый mac загружается с флешки или внешнего диска). Refit также ничего не дал — был темный экран. Данный способ был просто спасением.

Итак, что необходимо:

  1. Virtual Box
  2. WinClone (последняя бесплатная версия)
  3. Windows 7/8 ISO образ, который вам нравится

Этап 1: Создание раздела Boot Camp

Создайте раздел Bootcamp используя Boot Camp Assistant. Операция достаточно простая. В 10.6 ассистент создает раздел без замечаний, в 10.7 — предупредит о том, что у вас отсутствует привод.

Этап 2: Создание образа обобщенной установки Windows 7/8

Слово «обобщенный» здесь означает, что образ не привязан к какому-то конкретному железу Mac. После его заливки на раздел Boot Camp (используя WinClone), при загрузке с него Windows 7/8 автоматически настроит всё железо, перезагрузится и вы можете работать. Однако могут понадобится дополнительные драйвера, которые вы можете поставить из комплекта Boot Camp. Данный образ вы можете использовать в будущем на любом мак для очень быстрой установки Windows. Однако, в первый раз его необходимо создать, эта процедура не самая простая:

Этап 2.1: Установка Windows 7/8 в VirtualBox

Создайте новую виртуальную машину в VirtualBox, назовите её win7. Важно использовать для виртуальной машины VDI образ диска обязательно динамический (dynamically allocated). Размера в 10 ГБ должно быть достаточно. Установите Windows, используя установочный ISO образ. Никакого софта больше не ставьте, включая вспомогающий софт от VirtualBox, т.к. это должная быть чистая система.

Этап 2.2: Удаление раздела System Reserved (Зарезервировано системой) в Windows 7/8

Проблема в том, что Windows создала еще один дополнительный раздел, в котором собственно находится загрузчик. Необходимо перенести загрузчик на основной раздел и удалить этот вспомогательный.

  1. Загружаем Windows
  2. Заходим в Управление дисками (правый челчок по Компьютер в Проводнике -> Управление)
  3. Назначаем любую букву для нашего скрытого раздела (правый челчок мыши по разделу и выбираем пункт Изменить букву диска или путь к диску). Например назначили букву E:
  4. Запускаем командную строку под администратором. Поочередено, внимательно, вводим следущие команды:
    • reg unload HKLMBCD00000000
      

      выгружает эту ветку реестра

    • robocopy e: c: bootmgr
      

      копируем файл bootmgr

    • robocopy e:Boot C:Boot /s
      

      копируем папку Boot

    • bcdedit /store c:bootbcd /set {bootmgr} device partition=C:
      

      прописываем загрузчик в раздел C:

    По выводу команд убеждаемся, что всё прошло успешно. Теперь командную строку можно закрыть.

  5. В Управление дисками делаем активным раздел C и удаляем уже ненужный раздел System Reserved. Останется нераспределенное место (100 МБ у меня), но это не важно.
  6. Перезагружаемся, система должна нормально загрузится теперь с раздела C:
Этап 2.3: Делаем Windows обобщенной используя утилиту sysprep

  1. Запускаем командную строку под администратором. Вводим:
    net stop WMPNetworkSvc
    

    точного ответа на вопрос «зачем» нет. Но этот сервис остановить необходимо

  2. В папке C:WindowsSystem32sysprep создаем файл unattend.xml следущего содержания:
    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
         <settings pass="generalize">
              <component name="Microsoft-Windows-Security-Licensing-SLC"
    processorArchitecture="x86" publicKeyToken="31bf3856ad364e35"
    language="neutral" versionScope="nonSxS"
    xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                    <SkipRearm>1</SkipRearm>
              </component>
          </settings>
    </unattend>

    Внимательно проследите за тем, чтобы расширение файла было именно «XML», так как по умолчанию Windows может добавить «TXT»: unattend.xml.txt. Я для этого в св-вах папки выставил опцию всегда показывать расширения всех файлов.

  3. Запускаем C:WindowsSystem32sysprepsysrep.exe. Поставьте следущие опции:

    image

    Жмем «ОК», машина должна выключится сама.

Этап 2.4: Конвертирование образа VDI в WinClone образ

  1. В VirtualBox заходим в File->Media Manager. Жмем Copy нашего раздела Windows, обязательно используя опцию Fixed size. Пуская копия будет называться win7_copy. Ждем выполнения этой операции
  2. Заходим в Terminal, перемещаемся в папку, где вы сохранили копию и вводим:
    sudo VBoxManage internalcommands converttoraw win7_copy.vdi win7.raw
    

    Опять ждем завершения

  3. Вводим еще одну команду в терминале:
    sudo hdiutil attach -imagekey diskimage-class=CRawDiskImage win7.raw
    

    После этого у вас должен примонтироваться образ Untitled

  4. Заходим в WinClone, делаем копию этого примонитированного диска Untitled в первом табе Image
  5. Образ готов!

Этап 3: Заливаем образ WinClone на раздел Boot Camp

Используем второй таб Restore в программе WinClone и заливаем созданный в предудещем этапе образ на уже физический раздел Boot Camp.

Для будущих инсталляций теперь вам нужно только Этап 1 и 3, второй необходимо проделать лишь один раз.

Я не являюсь автором данного know-how, это вольный перевод на русский (с незначительными дополнениями и улучшениями). Оригинал данной статьи доступен здесь. Метод опробован мной лично на 2 mac — iMAC MC508 2010 и Mac Mini 2011 младшая модель, работает замечтально, за что спасибо автору.

PS. Прошу строго не пинать, это мой первый пост здесь. Спасибо.

Автор: andydufreyne

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js