[РЕШЕНО] Как установить Windows второй системой?!

TheNovaLive
TheNovaLive

ntp это протокол синхронизации софтверного времени по сети.
Ошибки в тексте-неповторимый стиль автора©
Я вообще-то не в теме, просто интересно стало. Прочел мануал. Признаться, ничего не понял:
maisvendoo
Для размещения образов необходим раздел жесткого диска (или отдельный диск) с файловой системой, которую будет понимать Windows.

maisvendoo
Описанные действия - это довольно простой и элегантный вариант установки ОС Windows параллелено с Linux без затрагивания разделов hdd и загрузочной записи.
Так нужен раздел с ntfs или нет?

Я понимаю, было бы интересно, если бы образ винды, лежащий, например, у меня в ext4, можно было бы запускать из граба, как это можно сейчас с образом линя. А так...
Пошел читать заново, может дойдет смысл сей аферы...
Aivar
Нужен раздел с NTFS, там будет лежать VHD, но это же лучше чем установленная Win :).
TheNovaLive
Хочу услывшать мнение maisvendoo!!!
ntp

palpalych
ну хотя бы так
Aivar
Я понимаю, было бы интересно, если бы образ винды, лежащий, например, у меня в ext4, можно было бы запускать из граба, как это можно сейчас с образом линя. А так...

К сожалению, так пока нельзя. boomgr не понимает ext2/3/4 (и, согласитесь, Вы бы удивились, если бы понимал). Поэтому раздел с ntfs все же нужен. Преимущества: в один раздел устанавливаются несколько версий винды, изолированных друг от друга. Хоть сотню разных экземпляров, лишь бы места хватило. Второе преимущество - легкий перенос системы с винта на винт. Всё копируется вместе с линуксом. Третье, субъектнивно, но всё же не надо восстанавливать загрузчик grub после установки винды.

Чисто теоретически, конечно, это возможно. Что требуется - найти и запустить winload.exe / winload.efi и винда загрузится. bootmgr при запуске переключает процессор в защищенный режим, выполняет некоторую первичную инициализацию железа и, как я понял, поползав по его коду в отладчике - начинает формирование таблицы syscall-ов. Ну и запускает драйвера файловых систем FAT и NTFS. Решить данную задачу можно только написанием альтернативного загрузчика. Однако MS этого делать не будет по понятным причинам, а GNU просто лень да и в идеологию не вписывается. Хотя дрова для семейства ext fs уже имеются и прекрасно работают. И распространяются с лицензией gnu.

Aivar
Нет такого дела, ради которого физически стоит держать винду. ;-/
Это у кого как, у меня, с сожалению есть такие дела

P.S.:

indeviral, кстати, хочу извинится за наезд по поводу VBOX VHD - реверсинг bootmgr показал, что эти образы будут работать в рассматриваемой схеме. bootmgr проверяет контрольную сумму, кратность размера файла образа 512-ти (размеру сектора) и сигнатуру ОС, в которой создан образ, сигнатуру формата файла (0x10000). Vbox ставит сигнатуру Wi2k, контрольную сумму и размер делает правильные, сигнатуру ставит 0x10000. Да и на практике тоже работает. Дело было в другом, а именно в том что дура QEMU неправильно монтирует vhd и футер просто затирается при установке винды

Вот код проверки футера VHD, полученый из bootmgr c помощью IDA Pro и отладчика. Представлены некоторые коды ошибок, выплевываемые при сбоях на экран

signed int __usercall VhdiVerifyVhdFooter(int footer)
{
  signed int error_code; 	// Error code
  int cur_checksum; 		// Actual checksum, writed in VHD
  int calc_checksum; 		// Calculated checksum
  int disk_type; 			// Disk type
  int creator_host_os; 		// Creator host OS

  // Error code
  error_code = -1069940733; // 0xc03a0003

  // Check cookie
  if ( RtlCompareMemory((const void *)footer, "conectix", 8) == 8 )
  {
    // Store actual checksumm
	cur_checksum = *(_DWORD *)(footer + 64);
	// Write zero to checksum in footer structure
    *(_DWORD *)(footer + 64) = 0;
	// Calculate check summ
    calc_checksum = BlUtlCheckSum(0x40001, 0, footer, 0x200);
	// Restore checsum in footer
    *(_DWORD *)(footer + 64) = cur_checksum;

	// Checksum verify
    if ( calc_checksum == cur_checksum )
    {
	  // File type verify
      if ( *(_WORD *)(footer + 14) == 1 )
      {
        // Check disk type
		disk_type = *(_DWORD *)(footer + 60);
        if ( disk_type == 2 || disk_type == 3 || disk_type == 4 )
        {
          // Check creator host OS
		  creator_host_os = *(_DWORD *)(footer + 36);
          if ( creator_host_os != 1798465879 && creator_host_os )
          {
            error_code = -1073741637; // 0xc00000bb

          } // Check disk size (by integer sectors count)
          else if ( *(_DWORD *)(footer + 48) & 0x1FF || *(_DWORD *)(footer + 40) & 0x1FF )
          {
            error_code = -1069940718; // 0xc03a0012
          }
          else
          {
            error_code = 0;
          }
        }
        else
        {
          error_code = -1069940732; // 0xc03a0004
        }
      }
      else
      {
        error_code = -1069940731; // 0xc03a0005
      }
    }
    else
    {
      error_code = -1069940734; // 0xc03a0002
    }
  }
  return error_code;
}
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb
http://rusrailsim.org
maisvendoo
Преимущества: в один раздел устанавливаются несколько версий винды, изолированных друг от друга. Хоть сотню разных экземпляров, лишь бы места хватило. Второе преимущество - легкий перенос системы с винта на винт. Всё копируется вместе с линуксом. Третье, субъектнивно, но всё же не надо восстанавливать загрузчик grub после установки винды.
Все это понятно, но по порядку:
1. Зачем иметь сотню разных экземпляров винды, если хватит одного? (То, что мне лично ни одного не надо, я уже писал.)
2. Как-то рассказывал знакомому-виндузятнику о легкости переноса Линукса на другой раздел/винт и т.д. Он ответил, что винду перенести еще проще, мол, делаем образ и разворачиваем его на другом разделе/винте... На сколько это правда - не знаю (см. выше).
3. Ну если это проблема, то установка и запуск винды из образа - куда больший геморрой.
Хочу обратиться к топикстартеру: вы по этой причине создали этот тред? Так проблемы никакой нет: чрутитесь из под любого Live CD/USB и переустанавливаете grub. Можно без чрута. Можно вообще не переустанавливать загрузчик, а именно: сохранить MBR, установить винду, из под того же Live CD/USB восстановить MBR, добавить пункт запуска винды в grub.cfg, всё.

maisvendoo, метод с виртуалкой технически, безусловно, интересен, тем более для линуксоида, который, как известно, не ищет легких путей, но, при всем уважении к проделанной работе, здравого прагматизма здесь нет.
Aivar
метод с виртуалкой технически, безусловно, интересен, тем более для линуксоида, который, как известно, не ищет легких путей, но, при всем уважении к проделанной работе, здравого прагматизма здесь нет.
Как раз сейчас разрабатываю новый метод, без виртуалки, но тем не менее в образ и без порчи загрузчика. Думаю получится...

Aivar
Он ответил, что винду перенести еще проще, мол, делаем образ и разворачиваем его на другом разделе/винте... На сколько это правда - не знаю (см. выше).
Да, с применением специального ПО для подготовки образа. В линуксе же всё реализуется средствами системы, а именно командой cp -rva
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb
http://rusrailsim.org
maisvendoo
а именно командой cp -rva
-r - лишнее. Опция -a подразумевает рекурсивное копирование.
maisvendoo
В линуксе же всё реализуется средствами системы, а именно командой cp -rva
да ладно, а fstab и конфиг загрузчика кто будет корректировать? ручками что ли? а значит ничего не реализуется средствами системы!!! а это только копирование.
так же просто скопировать и винду, а остальное ручками подкорректировать )))
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
да ладно, а fstab и конфиг загрузчика кто будет корректировать? ручками что ли? а значит ничего не реализуется средствами системы!!! а это только копирование.
Там же где и выполнялось копирование запускаем vim/vi/nano или что там есть и корректируем. А можно и вообще без текстового редактора, перенаправляя поток ввода из bash в текстовый файл /etc/ftab (как это делается при сборке LFS)
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb
http://rusrailsim.org
maisvendoo, а зачем что то корректировать ручками? если ты говоришь что:
maisvendoo
В линуксе же всё реализуется средствами системы, а именно командой cp -rva
ну так выполни эту команду и перезагрузись. и перенесенной системы ты не увидишь.

перефразирую, что будет тоже самое:
В винде же всё реализуется средствами системы, а именно командой cp.

так как это тоже самое и эффект после выполнения простого копирования такой же самый, то зачем же утверждать что "В линуксе же всё реализуется средствами системы".
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.