新しいシステムパーティションを作成できなかったか...
この記事はWindows7のインストールにハマったときのメモです。
ディスク操作を行なうためコマンド操作は慎重に!(各自の責任でやっちゃって下さい)
これまで幾度かOSのインストールを行なってきたけど、1週間近く沼ってしまったので「Windows Installer ふざけろよ!」とお怒りの方々の一助になればと思います。
結論
結論から先に言ってしまえば、「Windowsインストール時には、余分な書込み可能ドライブを接続しておかないこと」ということになります。
- SSD/HDDが2台以上繋がっているのなら、インストール先以外のSSD/HDDをすべて取り外してからインストール作業を行なう
- USBメモリからインストールする場合は、一度 USBメモリの中身をSSD/HDDにコピーしてUSBメモリを取り外してからインストール作業を行なう(本記事で言及します)
手順概略
USBメモリからインストールする場合です、光学メディアの場合は「USBメモリ」を「光学メディア」に読み換えて手順2からになります。
(DVDからインストールする場合はSSD/HDDを1台の構成にしておけば、基本的にスムーズにインストールできると思いますが...)
- USBメモリにインストーラーをこしらえる
- SSD/HDDのパーティションを手動で設定する
- USBメモリの内容をSSD/HDDにコピーする
- SSD/HDDがひとつしか接続されていない状態でインストールを実行する
(USBメモリも外す) - インストール完了後、インストールに使ったSSD/HDDの領域を解放する
対象者
Windows7インストール時に、「新しいシステムパーティションを作成できなかったか、既存のシステムパーティションが見つかりませんでした」とお叱りを受け、diskpart.exeでcleanコマンドを実行したけど症状が改善しない方。
経緯
NUC6i5SYHという小型PCを買ったのだけど、USB3.0のポートしかなくてUSB2.0以下の規格で接続するキーボードやマウスをWindows7インストール時に認識できない。(Skylakeおそるべし...)
→ DVDドライブを外付けして普通にインストールしようとしてもダメ。
USB機器を認識させるためにはパッチが必要だけど、これはNUC6i5SYHの製造元であるIntelが作ってくれている。(このあたりは別の記事で起こそうかと思っています)
- 「Windows7 USB DVD Download Tool」でUSBメモリにisoをコピーする。
- 「Win7_USB3.0_Creator_v2」でUSB3.0のパッチを当てる。
注)私の環境では Win7_USB3.0_Creator_v3 は、インストール途中からキーボードが認識されなくなったので安全のため v2 を使うことを推奨
USBメモリにWindows7のインストーラーをこしらえて、いざインストールしてみようとすると、「新しいシステムパーティションを作成できなかったか、既存のシステムパーティションが見つかりませんでした」となってお手上げ。
diskpartというシステムツールを使えばパーティション情報を復旧できると知り、さっそくcleanしてみるけど、やはり「新しいシステムパーティションを作成できなかったか、既存のシステムパーティションが見つかりませんでした」となってお手上げ。
原因
USBメモリ(余計なストレージ)が挿さっていたことで上手くインストーラーが動作しなかった。
解決策
簡単に言ってしまえば、OSインストール時には、余計なストレージ(USBメモリも含めて)を接続しない。インストーラーの内容を一度、SSD/HDDにコピーしてからインストールを行なう。ということになります。以下に手順を示します。
- OS入れるドライブ以外(2台目以降のSATA接続のストレージドライブ)を取り外す。
- インストーラーが入っているUSBメモリを挿してPCを起動し、起動ドライブにUSBを指定してWindows7インストーラーを立ち上げる。
- Shift + F10 を押してコマンドプロンプトを起動する。
以下、プロンプトでの作業となります。(# はコメント)
# diskpart.exe を起動する
> diskpart
# マウントされているドライブレターを確認する
# USBメモリのドライブレターを確認しておく
DISKPART> list volume
# PCに接続されいるディスクの一覧を表示する
# ここでOSを入れるディスクの番号を確認する(ここでは disk0 とする)
DISKPART> list disk
# ディスクを選択する
DISKPART> select disk 0
# パーティション情報を消去する(重要なデータは事前にバックアップを!)
DISKPART> clean
# ディスクをMBRとして扱う(2TB以下でUEFIを使わないので)
DISKPART> convert mbr
# Windows7をインストールするといつの間にか確保されているMBR領域を手動で確保する(size=100 は 100 [MB] を表す)
DISKPART> create partition primary size=100
DISKPART> format quick fs=ntfs label="System"
DISKPART> assign letter="S"
# Windows7を実際にインストールする領域を確保する
# 残りの領域すべてを一旦確保してから、8 [GB] サイズを縮小する
# USBメモリの使用領域をコピーするので、Windows7 x64の場合なら 5 [GB] くらいでもOK
DISKPART> create partition primary
DISKPART> shrink minimum=8000
DISKPART> format quick fs=ntfs label="Windows"
DISKPART> assign letter="W"
# USBインストーラーの内容のコピーをおく領域を確保する
DISKPART> create partition primary
DISKPART> format quick fs=ntfs label="Installer"
DISKPART> assign letter="I"
# 以後、このパーティションから起動できるようにactiveにする
DISKPART> active
# パーティションとドライブ名が正しく設定できたか確認して終了する
DISKPART> list volume
DISKPART> exit
- (引き続きコマンドプロンプトでの作業です。)USBメモリの内容を先の手順で作成したインストーラー用のドライブにコピーする。
# USBメモリはCドライブとして認識されている前提です。
robocopy c: i: /mir /r:0 /w:0
- コピーが完了したら、安全にUSBメモリを取り外してSSD/HDDから起動する。
- Windows Installerに従って、ラベル名がWindowsのパーティションにWindows7をインストールする。(SSD/HDDの接続が1台のみで、USBメモリを外してある状態なら問題なくインストールを進められるはず!)
- Windows7が無事にインストールできたら、ブートローダーを書き換えて、インストール用のパーティションを削除する。(別記事にします)
インストール完了直後は、インストール用に確保したパーティションがアクティブになっていて、ブートローダーもこのパーティションに存在します。
改編履歴
2016/08/04 : アクセスが多いみたいなので、コマンドまわりを見やすくしました。以下の記事も合わせてどうぞ。
2017/01/07:やはりアクセスが多いみたいなので、コマンドまわりを見やすくしました。