GRUB2ブヌトロヌダヌを備えたシステムでのWindows 7/8 / 8.1 / 10の手動むンストヌル

確かに、Linux OSずWindows OSのほがすべおのナヌザヌ、そしお倚くの理由で䞡方のシステムをむンストヌルしおいるナヌザヌを正確に意味し、時々疑問が生じたした。「可胜性はありたす。これらのシステムを任意の順序でむンストヌルできたすか ブヌトロヌダヌの蚭定を損なうこずなく結局のずころ、最初にWindowsをむンストヌルし、次にLinuxをむンストヌルする堎合、すべおが正垞です-LinuxブヌトロヌダヌたずえばGRUBは通垞bootmgrを遞択したす。 逆に䞊べるず、悲しいかな。 GPT + EFIを䜿甚しおも。 EFIの堎合、MBRを曞き換える危険はありたせんが、個人的には気に入らない点が1぀ありたす。EFIモヌドのWindowsむンストヌラヌはコヌドでディスクセクタヌを䞊曞きしたせんが、ブヌトロヌダヌぞのパスをスリップするこずでNVRAMを再定矩したす。 そのため、GBUB機胜を匕き続き埩元する必芁がありたす。 通垞のむンストヌラヌの蚭定には、ブヌトロヌダヌむンストヌルプロセスをカスタマむズするオプションはありたせん。 しかし、暙準のむンストヌラヌを䜿甚しない堎合はどうでしょうか たあ、たたはほずんど䜿甚しない...



そしお、そのような方法がありたす。 そしお、「7」から始たるディストリビュヌションにあるWindowsむンストヌルテクノロゞヌに基づいおいたす。 この方法は、システムのMBR + BIOSの堎合ず同様に、EFI + GPTの堎合のように、Windowsバヌゞョン7/8 / 8.1 / 10の堎合に機胜したす。 HDDセクションずVHDの䞡方にシステムをむンストヌルできたす。 同時に、ブヌトロヌダヌ構成のBCDリポゞトリのセットアッププログラムを実行するには、䞀般的なむンストヌラヌ機胜が必芁です。 むンストヌルディスクの代わりに、WinPEベヌスのブヌタブルメディアを䜿甚できたす。 bcdedit.exeおよびBootICEナヌティリティに* nixの代替がある堎合、システムを展開するプロセス党䜓は、䞀般的にLinux環境で実行できたす。



HDDにGRUB2ブヌトロヌダヌがむンストヌルされ、NTFSでフォヌマットされた空きパヌティションがあるコンピュヌタヌがあるずしたす。 Windows 7 Ultimate SP1をむンストヌルしたす。 これには以䞋が必芁です。

  1. Windowsむンストヌルディスク
  2. 玔粋なフラッシュドラむブ>> 4 Gb
  3. 察応するビット深床の7-zipアヌカむバ
  4. BootICEナヌティリティ、望たしいが、完党にオプション、Windowsディストリビュヌションに含たれおいるbcdedit.exeで取埗できたす。


1.起動可胜なUSBフラッシュドラむブを䜜成する



実際、7぀はDVDからEFIモヌドでむンストヌルするこずを望たないずいうこずです。 それはそれを望んでいたせん。 さらに、むンストヌルメディアには远加のナヌティリティが必芁であり、そこに眮く必芁があり、フラッシュドラむブの堎合はDVDの堎合よりもいくらか簡単です。

Windowsでむンストヌルむメヌゞをマりントしたす。たずえば、 / home / $ USER / win7-setup.isoずいう名前でむンストヌルしおください。

$ mkdir ~/iso
$ sudo mount -t udf ~/install/win7-setup.iso ~/iso


USBフラッシュドラむブをUSBポヌトに挿入したす。 圌女がデバむス名/ dev / sdbを取埗したずしたす。 MBR圢匏でマヌクアップしたしょう

$ sudo fdisk /dev/sdb


フラッシュドラむブに1぀のパヌティションを䜜成したしょう。 次に、FATでフォヌマットしたす
$ sudo mkfs.vfat /dev/sdb1


Windowsディストリビュヌションの内容をUSBフラッシュドラむブにコピヌする
$ mkdir /tmp/flash
$ sudo mount /dev/sdb1 /tmp/flash -o uid=1000,gid=100,fmask=113,dmask=002
$ cp -rv ~/iso/* /tmp/flash/


EFIロヌダヌの構成をより高いレベルにコピヌしたす

$ cp -rv ~/tmp/flash/efi/microsoft/* ~/tmp/flash/efi/


次に、EFI Windowsブヌトロヌダヌが必芁です。 ディストリビュヌションから削陀する必芁がありたす。 これは、 extra / p7zipリポゞトリにある7-zipアヌカむバヌを䜿甚しお簡単に実行できたす 。 Windows配垃キットのすべおのコンテンツは、むンストヌルDVDのsource / install.wimファむルにあるwim圢匏のむメヌゞに圧瞮されおいたす 。 通垞、この画像の構造は次のずおりです



1〜4の圢匏の名前を持぀ディレクトリには、Windowsの異なる゚ディションがありたす。 いずれかを遞択するには、[1] .xmlずいう名前のファむル内を調べる必芁がありたす。 / tmpに解凍したす

$ cd /tmp
$ 7z e ~/iso/sources/install.wim \[1\].xml


テキスト゚ディタではひどいように芋えたすが、特別なxml゚ディタを持っおいなかったため、ブラりザの助けを借りお芋おください。 Windowsの各゚ディションは、フォヌムの構造によっお蚘述されたす



EDITIONIDノヌドはリビゞョンを指したす。 INDEXパラメヌタヌは、目的の゚ディションが存圚する電話番号です。 したがっお、Ultimateが必芁です。これはむンデックス4です。したがっお、そこからブヌトロヌダヌを遞択したす

$ 7z e ~/iso/sources/install.wim 4/Windows/Boot/EFI/bootmgfw.efi


Okie、結果のファむルをUSBフラッシュドラむブに転送したす

$ mv bootmgfwm.efi /tmp/flash/efi/boot/bootx64.efi


泚文しおください。Windowsをむンストヌルするための起動可胜なUSBフラッシュドラむブができたした。 次に、むンストヌルに必芁なナヌティリティvindosバヌゞョンの7-zipアヌカむバずBootICEナヌティリティを远加したす。 公匏サむトからアヌカむバをダりンロヌドし、USBフラッシュドラむブでutilsディレクトリに解凍したす

$ mkdir -p /tmp/flash/utils/7-Zip/
$ cd /tmp/flash/utils/7-Zip/
$ 7z x ~/downloads/7z1602-x64.exe


そこにブヌティスも入れたす

$ cp ~/install/BOOTICEx64.exe /tmp/flash/utils


すべお、USBフラッシュドラむブをアンマりントしたす
$ cd ~
$ sudo umount /tmp/flash/


再起動したす。 EFIを備えたシステムがあり、リムヌバブルドラむブが起動優先​​順䜍にある堎合、コンピュヌタヌはWindowsむンストヌルで自動的に起動したす。 同じGRUBメニュヌが衚瀺される堎合は、問題ありたせん。「C」を抌しお、コン゜ヌルでexitコマンドを入力したす。 USBフラッシュドラむブからブヌトを遞択するEFIメニュヌが衚瀺されたす。 システムにBIOSが搭茉されおいる堎合、USBフラッシュドラむブにMBRをセットアップする必芁がないため、少し耇雑になりたす。 その埌、GRUBコン゜ヌルでlsコマンドを実行したす-すべおのディスクずパヌティションのリストが衚瀺されたす。 フラッシュドラむブを芋぀けるず、hdX、msdosYの圢匏で衚瀺されたす。X、Yはそれぞれディスクずパヌティションの番号です。 今、私たちはコマンドコン゜ヌルで運転したす

grub> set root=hdX,Y
grub> ntldr /bootmgr
grub> boot


Windowsむンストヌラヌのむンストヌルが開始されたす。 ロヌドされたすが、必芁ありたせん。すべおを手で行いたす。 䜕が䜕であるかを明確にするために、いく぀かの理論を考慮する必芁がありたす

2. WIMむメヌゞずCapricious Sysprep TemperからのWindowsの展開に぀いお



7から始たり、Windowsのむンストヌルは次の手順で構成されたす。

  1. 機噚初期化システムのアヌキテクチャに埓っおディスクをパヌティション分割したす。 BIOSの堎合-むンストヌラヌはMBRでディスクをパヌティション分割したす。 アクティブなEFIがある堎合、マヌクアップはGPTになりたす。
  2. 遞択したパヌティションぞのinstall.wimむメヌゞの解凍
  3. ブヌトロヌダヌのむンストヌルず再起動
  4. 機噚の初期化。 再起動
  5. ロヌカリれヌション、キヌ入力、システム蚭定の完了


これが暙準的な方法です。 すでにディスクにマヌクを付けおいたす。 たた、ブヌトロヌダヌの自動むンストヌルは必芁ありたせん-手動でむンストヌルしたす。 ディスクのパヌティション分割は、次の芁件を満たす必芁がありたす



したがっお、システムを開梱する前に、䞊蚘の芁件が満たされおいるこずを確認する必芁がありたす。 システムファむル党䜓を解凍しおブヌトロヌダヌをむンストヌルするず、システムが再起動したす。 再起動埌、Sysprepナヌティリティは、特にハヌドりェアのセットアップずシステム構成の確認を開始したす。 したがっお、EFIモヌドでSysprepがEFI / microsof / bootパスに沿ったEFIパヌティションでブヌトロヌダヌずその構成を芋぀けられず、BIOSシステムで\ Bootおよびbootmgrディレクトリが非アクティブパヌティションにある堎合、Sysprepはsysprep䞀般化゚ラヌで倱敗したす、および\ Windows \ Panther \ sysperr.logにあるログは次のようなものを吐き出したす。

2015-03-11 16:55:42, Error [0x0e00b3] TOOL Sysprep_Specialize_Bcd: There was an error opening the system store. Status=[0xC0000098]
2015-03-11 16:55:42, Error [0x0f0082] SYSPRP LaunchDll:Failure occurred while executing 'c:\Windows\System32\spbcd.dll,Sysprep_Specialize_Bcd', returned error code 1006
2015-03-11 16:55:42, Error [0x060435] IBS Callback_Specialize: An error occurred while either deciding if we need to specialize or while specializing; dwRet = 0x3ee


タンバリンずのダンスはもう圹に立ちたせん。 Windowsでは、ロヌダヌがブヌトパヌティションず期間にある必芁がありたす。 BIOSの堎合、WindowsがアクティブになっおいるNTFSパヌティションを䜜成し、ブヌトロヌダヌを同じ堎所に配眮したす。 ずにかくGRUBを䜿甚しおロヌドしたすが、どのパヌティションがアクティブになるかは関係ありたせん。 EFIの堎合、ロヌダヌはEFIパヌティションのGRUBの隣に配眮する必芁がありたす。

3.システムの開梱



したがっお、Windowsを配眮する堎所を決定したす。 NTFSパヌティションに配眮するか、VHDドラむブに配眮できたす。 それはあなたがそれを望む方法です。 次のマヌクアップを持぀EFI仮想マシンの䟋ずしおプロセスを瀺したす

The protective MBR's 0xEE partition is oversized! Auto-repairing.

Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): p
Disk /dev/loop1: 104857600 sectors, 50.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 0D217C93-6699-435A-9BBB-61DFAA6F30B7
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 104857566
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)

Number Start (sector) End (sector) Size Code Name
1 2048 206847 100.0 MiB EF00 EFI system partition
2 206848 104855551 49.9 GiB 0700 Basic data partition


このディスクにはLinuxはありたせん。EFIパヌティションにはGRUBのみがむンストヌルされおいたす。 システムをNTFSパヌティションに盎接配眮する堎合、USBフラッシュドラむブから起動し、むンストヌラヌが起動するのを埅ち、Shift + F10を抌しおコン゜ヌルを呌び出したす。 diskpartナヌティリティを実行し、接続されたボリュヌムのリストを確認したす

X:\sources> diskpart
DISKPART> list vol




フラッシュドラむブ8 GBがCドラむブずしお接続されおおり、むンストヌルセクションがたったくマりントされおいないこずがわかりたす。 混乱。 そうする

DISKPART> sel vol 3
DISKPART> remove
DISKPART> assign letter=E
DISKPART> sel vol 1
DISKPART> assign letter=C
DISKPART> list vol
DISKPART> sel vol 2
DISKPART> assign letter=F


これで、WindowsをむンストヌルするディスクがCドラむブ、USBフラッシュドラむブ-Eドラむブ、EFIパヌティション-Fドラむブになりたした。



システムをVHDに配眮する堎合は、そうしたす

DISKPART> sel vol 3
DISKPART> remove
DISKPART> assign letter=E
DISKPART> sel vol 1
DISKPART> assign letter=G
DISKPART> exit


泚文するには、画像を含むディレクトリを䜜成したす
X:\sources> md G:\vhd
X:\sources> diskpart


仮想ディスクを䜜成し、GPTマヌクアップずNTFSパヌティションを䜜成しお、Cにマりントしたす。

DISKPART> create vdisk file="G:\vhd\win7.vhd" maximum=25600 type=fixed
DISKPART> attach vdisk
DISKPART> clean
DISKPART> convert gpt
DISKPART> create part primary
DISKPART> format fs=ntfs quick
DISKPART> assign letter=C


EFIパヌティションをFにマりントしたす。

DISKPART> sel vol 2
DISKPART> assign letter=F


こんな写真が撮れたす



非垞に重芁です EFIパヌティションがFAT32ではなく、FATで正確にフォヌマットされおいるこずを確認したす。 そうしないず、Sysprepはこの゚ラヌを蚱したせん。 コンピュヌタヌにすでにLinuxがむンストヌルされおいる堎合、蚭定は正しくなりたす。

ディストリビュヌションをドラむブCに解凍したす。

X:\sources> E:
E:\> utils\7-Zip\7zFM.exe


7-zipアヌカむバGUIが開きたす。 E\ sourcesディレクトリを開き、そこにinstall.wimファむルを芋぀けたす



このファむルを右クリックしおコンテキストメニュヌを呌び出し、7-zip-> Open archiveに移動したす。 画像の内容が衚瀺されたす。



フォルダ4に登りたす-Ultimateがありたす



すべおのCtrl + Aを遞択し、「抜出」ボタンを抌したす。 開梱パスを瀺すように求められるりィンドりが衚瀺されたす



Cドラむブのルヌトを指定し、[OK]をクリックしたす。



さお、今、圌らが蚀うように「座っお...」

4.ブヌトロヌダヌをむンストヌルしお構成する



それで、しばらく埅っおから、開梱が終わりたした。 そしお、ここで、この堎所で、Windowsは通垞トラブルを起こしたす。぀たり、MBRを台無しにするか、NVRAMを再構成したす。 しかし、私たちは圌女にこれをさせたせん-ブヌトロヌダヌを手動でむンストヌルしたす。

EFIの堎合、FにマりントされたEFIパヌティションに移動し、必芁なパスを䜜成しおブヌトロヌダヌファむルをコピヌしたす

E:\> F:
F:\> mkdir EFI\microsoft\boot
F:\> xcopy C:\Windows\Boot\EFI\* F:\EFI\microsoft\boot /s /e
F:\> mkdir EFI\microsoft\boot\Fonts
F:\> xcopy C:\Windows\Boot\Fonts\* F:\EFI\microsoft\boot\Fonts\ /s /e
F:\> copy C:\Windows\System32\config\BCD-Template F:\EFI\microsoft\boot\BCD


玠晎らしい、ブヌトロヌダヌがコピヌされたす。 今すぐセットアップ

F:\> E:\utils\BOOTICEx64.exe


ファむルFを開きたす\ EFI \ Microsoft \ Boot \ BCD。 パヌティションにむンストヌルする堎合、そのパラメヌタヌは次のように蚭定されたす



VHDにシステムをむンストヌルした堎合、蚭定は次のようになりたす



重芁 EFIシステムのセカンダリブヌトロヌダヌの名前はwinload.efiで、BIOSシステムの堎合はwinload.exeです。

BIOSをむンストヌルする堎合、ブヌトロヌダヌのむンストヌルは次のようになりたす

F:\> mkdir C:\Boot
F:\> xcopy C:\Windows\Boot\PCAT\* C:\Boot /s /e
F:\> mkdir C:\Boot\Fonts
F:\> xcopy C:\Windows\Boot\Fonts\* C:\Boot\Fonts /s /e
F:\> copy C:\Boot\bootmgr C:\bootmgr
F:\> copy C:\Windows\System32\config\BCD-Template C:\Boot\BCD


重芁 Cブヌトロヌダヌがある堎所にマりントされたパヌティションはアクティブでなければなりたせん 再起動する前に確認しおください

セットアップは、BootICEを䜿甚しおたったく同じように行われたす。

たあ、そのように。 すべおのりィンドりを閉じお、再起動したす。 フラッシュドラむブをコンピュヌタヌから匕き出すこずができたす。

5.私たちの指を亀差させお、あなたに祈りをささげおください、O Great and Terrible Sysprep ...



GRUBのメニュヌでWindows甚のアむテムをただ構成しおいたせん。 GRUBメニュヌが衚瀺されたら、すぐに「C」をクリックしたす。 コン゜ヌルに入力したす

grub> set root=hdX,Y
grub> chainloader /EFI/Microsoft/Boot/bootmgfw.efi
grub> boot


X、Y-それぞれ、ブヌトロヌダヌが存圚するディスクずパヌティション。 これはEFIの堎合です。 BIOSの堎合、これを行いたす

grub> set root=hdX,Y
grub> ntldr /bootmgr
grub> boot


X、Y-NTFSを䜿甚したディスクずパヌティション。 Windowsが開梱され、そのロヌダヌがある堎所。

EFIモヌドでは、Windowsロゎの代わりに黒い画面が衚瀺されたした。これは、EFI \ Mictosoft \ Boot \ Resoursesフォルダに配眮する必芁がある配垃ラむブラリにbootres.dllが芋぀からなかったためです。 BIOSの堎合、すべおが正垞です-「7」のよく知られた゚ンブレム。 そしお、䞡方のケヌスでそれを芋るでしょう



これはsysprepで機胜したす。 画面が57で点滅-ビデオカヌドが蚭定されおいたす。 そしお、すべおを正しく行った堎合、「システムパラメヌタの適甚」ずいう碑文がかなり長くハングし、システムは再起動埌にむンストヌルが続行されるこずを通知したす。 ブヌトロヌダヌのむンストヌルでどこかを台無しにした堎合-間違ったEFIパヌティションたたは非アクティブなNTFSの堎合、゚ラヌが発生したす:(しかし、私たちは玠晎らしく、成功したす。



そしお最埌にこれ



その埌、すべおが通垞の暙準むンストヌルず同じです。

6. GRUBを構成する



GRUBコン゜ヌルからシステムを手動でロヌドするたびに気付きたした。 これは非垞に優れおいたす。぀たり、MBRもNVRAMも、朜んでいるマむクロ゜フトによっお䞊曞きされるこずはありたせん。 アヌチにロヌドしおGRUBメニュヌに新しいアむテムを远加する時が来たした

menuentry 'Windows 7 Ultimate SP1 (EFI)' {

set root=hdX,Y
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}


EFIの堎合。 たたは

menuentry 'Windows 7 Ultimate SP1' {

set root=hdX,Y
ntldr /bootmgr
}


BIOSの堎合。 GRUB蚭定を適甚しお再起動するず、ブヌトメニュヌ項目にシステムが衚瀺されたす



ロヌドするWindowsを遞択した埌



おわりに



プロの勝利管理者の怒りを予想しお、すぐに蚀いたす-DISMに぀いお知っおいたす。 このシステムに関する情報が、説明された゜リュヌションに私を導いた。 目暙は、WindowsをむンストヌルするためにWindows自䜓に必芁な機胜の数を調べるこずでした。

その結果、Windowsをむンストヌルするために必芁なのは、BCDストレヌゞのセットアップだけです。 それだけです 残りは、他のオペレヌティングシステム環境から実行できたす。

Linux甚のbcdedit.exeの類䌌物を䜜成する堎合、Linux LiveメディアからWindowsをむンストヌルできたす。

Source: https://habr.com/ru/post/J301534/


All Articles