Mar 11, 2011

家庭教師をしていた頃の話をします

自分は学生時代にアルバイトで家庭教師のアルバイトをしていました。当時教えていた子供は、中学3年生の女の子でした​​。家庭教師のバイトは最初の経験だったし、女子個人の部屋を教える非常には、ちょっと緊張していました。確かに奇妙なことは考えていなかったが、やはり多感な中学生だから、勉強​​はおろか、他のことを質問が多かったように覚えています。
私が最初にwebデザイナーとして仕事を始めたのは今から15年ほど前だ。当時はまだインターネットの普及が初期段階で個人PCを持っている人も少なく、webデザイナーといってもどのような仕事をしているのか、まだ周りの理解が難しかった。その頃に比べれば、インターネットは目覚しい発展を見せたのだと思う。
大手企業であればキチンとしたシステム管理部門があるが、中小規模企業だとそうはいかない。ちょっとコンピュータに詳しいがゆえに「じゃ、サーバ管理やって」と命令され、途方に暮れている人もいるだろう。本連載ではWindows OSに特化し、ありがちな質問からMicrosoftのWebサイトにも掲載されていないような奇問までを取り上げ、その解決方法を指南する。サーバ管理で頭を痛めている人はぜひ参考にしてほしい。

【詳細画像を含む記事】

【質問07】

Windows 7を1パーティション構成にインストールしたい

【対象】Windows 7、Windows Server 2008 R2

■現象

 Windows 7をまっさらなハードディスクに新規インストールすると、Windows 7がインストールされるCドライブとは別に、100MBのパーティションが作成されます。このパーティションを作らないように、ハードディスク全体を1つパーティションでインストールする方法を教えてください。

■解決

 Windows 7やWindows Server 2008 R2を新規インストールしたときに作成される、ドライブ文字が割り当てられない100MBのパーティション(システムで予約済み)は、「Windowsブートマネージャー(Bootmgr)」とその「構成ストア(「Boot」フォルダー)」が含まれる、Windowsのシステム(起動用)パーティションになります。一方、「Windows」フォルダーのあるWindows 7のインストール先パーティションは、Windowsのブートパーティションです。

 “システムパーティション”と“ブートパーティション”という呼び方は混乱を招きそうですが、Windows 7の起動にはこれらのパーティションが不可欠です。ただし、システムパーティションとブートパーティションの両方を同じパーティション(Cドライブ)で構成することも可能です。

 Windows Vista以前およびWindows Server 2008以前は、既定で1パーティション構成になっていました。Windows 7やWindows Server 2008 R2で、既定のパーティション構成が2つに分割されたのは、Windows 7 Enterprise/Ultimate、およびWindows Server 2008 R2に搭載されている「BitLockerドライブ暗号化」の構成を容易にするためです。BitLockerドライブ暗号化では、暗号化されないドライブにWindowsブートマネージャーと構成ストアを配置する必要があるからです。

 BitLockerドライブ暗号化をサポートしないWindows 7 Professional以下のエディションでも、100MBのシステムパーティションは作成されます。これは、BitLockerドライブ暗号化に対応した上位エディションへのアップグレード(Anytime Upgrade)を考慮しているものと思われます。

 BitLockerドライブ暗号化を使用する予定がない場合は、次の手順で1パーティション構成の環境に、Windows 7またはWindows Server 2008 R2をインストールすることができます。

(1)Windows 7またはWindows Server 2008 R2のインストールメディアからコンピュータを起動します。「Windowsのインストール」ダイアログボックスが表示されたら、「Shift」+「F10」キーを押します。すると、コマンドプロンプトが出現します。

(2)「コマンドプロンプト」を開いて「DISKPART」コマンドを実行し、ハードディスク全体を1パーティションで構成します。

X:¥Sources>DISKPARTDISKPART>selectdisk0DISKPART>createpartitionprimaryDISKPART>exitX:¥Sources>exit

(3)コマンドプロンプトを閉じて「Windowsのインストール」ダイアログボックスに戻り、「今すぐインストール」をクリックして、Windows 7またはWindows Server 2008 R2のインストールを開始します。

(4)「Windowsのインストール場所を選択してください」の画面で、「ディスク0パーティション1」を選択して、インストールを進めます。「ディスク0パーティション1」は、手順(2)で「DISKPART」コマンドを使用して作成したパーティションになります。

(5)Windows 7またはWindows Server 2008 R2のインストールが完了したら、「ディスクの管理」スナップインを使用して、ハードディスクが1パーティションで構成されたことを確認します。

【質問08】

Windows 7のイメージ展開でローカルユーザーの作成をスキップしたい

【対象】Windows 7、Windows Vista

■現象

 Windows 7のSysprep済みイメージを展開して、「応答ファイル(Unattend.xml)」を使用したMini−Setupの自動構成を検証しています。Windows 7の新規インストール、およびSysprep後のMini-Setupでは、ローカル管理者権限を持つローカルアカウントが作成されますが、その結果、イメージ展開後のWindows 7に2つのローカルアカウントが作成されてしまいます。イメージ展開後にローカルアカウントが1つだけ有効になるようにしたいのですが、可能でしょうか。

■解決

 応答ファイルを使用したSysprep済みイメージの展開を標準的な方法で行うと、ローカルアカウントが2つ作成されます。

 1つは、マスターイメージを作成する際、Windows 7を新規インストールしたときに作成したローカルアカウント、そしてもう1つは応答ファイルでMini-Setupの自動構成中に作成されるローカルアカウントです。イメージ展開完了後にローカルアカウントが1つだけ登録された状態にする方法はいくつかあります。

【方法1】
FirstLoginCommandsにコマンドを指定してアカウントを削除する方法

 1つ目は、応答ファイルのコマンドライン自動実行機能を利用して、イメージに含まれる既存の(最初に作成された)ローカルアカウントを削除する方法です。

 「Windows自動インストールキット(Windows AIK)」の「Windowsシステムイメージマネージャー」を使用して応答ファイルを編集する場合は、「oobeSystem」セクションに「FirstLogonCommands」セクションを追加して、次のコマンドラインを登録します。

cmd/cNETUSER<ローカルアカウント名>/DELETE

 ローカルアカウント名としては、最初に作成されたローカルアカウントを指定してください。このコマンドラインが自動実行されることで、応答ファイルのUserAccountsセクションで指定されたローカルアカウントが最終的に残ります。

 すでに応答ファイルがある場合は、「メモ帳」などのテキストエディタで編集して、「oobeSystem」セクションに以下のブロックを追加します。

<FirstLogonCommands><SynchronousCommand><CommandLine>cmd/cNETUSER<ローカルアカウント名>/DELETE</CommandLine><Order>1</Order></SynchronousCommand></FirstLogonCommands>

【方法2】
Mini-Setupでローカルアカウントの作成をスキップする方法

 2つ目は、応答ファイルで作成するローカルアカウントに、ビルトインのAdministratorを指定する方法です。ビルトインのAdministratorは既定で存在し、アカウントは無効になっていますが、このアカウントを指定することで、ローカルアカウントの作成をスキップすることができます。この方法を使用する場合、Sysprep済みイメージに含まれるローカルアカウントが最終的に残ります。

 Windows自動インストールキットのWindowsシステムイメージマネージャーを使用して応答ファイルを編集する場合は、「oobeSystem」セクションに「UserAccounts」の「LocalAccounts」セクションを追加し、LocalAccountを挿入します(既存のLocalAccount指定がある場合は削除してください)。そして、LocalAccountのプロパティでGroup「Administrators」、Name「Administrator」を指定します。Passwordの設定は不要です。

 すでに応答ファイルがある場合は、メモ帳などのテキストエディタで編集して、「oobeSystem」セクションの「UserAccounts」のブロックを以下のように変更します。

<UserAccounts><LocalAccounts><LocalAccountwcm:action="add"><Group>Administrators</Group><Name>Administrator</Name></LocalAccount></LocalAccounts></UserAccounts>

【質問09】

Hyper-Vの仮想マシンを起動しようとすると「パーティションを作成できませんでした」というエラーで失敗する

【対象】Windows Server 2008 R2、Windows Server 2008 x64 with Hyper-V、Hyper-V Server 2008 R2、Hyper-V Server 2008

■現象

 Windows Server 2008 R2にHyper-Vの役割をインストールして、仮想マシンを作成しました。しかし、仮想マシンを開始すると「パーティションを作成できませんでした:エラーを特定できません(0x80004005)」というエラーが発生し、仮想マシンの初期化に失敗します。Hyper-Vのシステムサービス「Hyper-V Image Management Service」「Hyper-V Networking Management Service」「Hyper-V Virtual Machine Management」はすべて実行中になっていますが、ほかに確認するところはありますか。

■解決

 このエラーは、Hyper-Vのハイパーバイザー層が動作していない可能性を示しています。

 Windows Server 2008 R2にHyper-Vの役割をインストールすると、管理OSが起動する際にハードウェアと管理OSの間にハイパーバイザー層がロードされます。ハードウェアのすぐ上で動作するハイパーバイザー層は、ハードウェアをパーティションで分け、その1つ(ペアレントパーティション)で管理OSを実行します。仮想マシンはその他のパーティション(チャイルドパーティション)で実行できます。

 Hyper-Vのハイパーバイザーが動作するためには、ハードウェア仮想化支援機能とハードウェアデータ強制実行防止(ハードウェア強制DEP)をサポートするx64プロセッサが必要です。ハードウェア仮想化支援機能とは、「Intel Virtualization Technology(Intel VT)」または「AMD-Virtualization(AMD-V)」です。ハードウェア強制DEPは、「Intel Execute Disable bit(XD bit)」または「AMD No Execute bit(NX bit)」です。

 ハードウェア仮想化支援機能とハードウェアデータ強制実行防止をサポートしているサーバであっても、工場出荷時には無効になっている場合もあります。これらの機能が有効かどうか、BIOSセットアップユーティリティで確認してください。

 ハイパーバイザーの起動設定は、Windowsブートローダーの構成ストアに格納されています。管理OSの起動エントリに追加される「hypervisorlaunchtype」というオプションです。管理OSを起動した状態で次のコマンドラインを実行して、hypervisorlaunchtypeオプションが存在することを確認してください。

bcdedit/enum{current}

 hypervisorlaunchtypeオプションが存在しない場合は、次のコマンドラインを実行して、管理OSの起動エントリに追加してください。hypervisorlaunchtypeオプションを追加したら、管理OSを再起動してください。賢い交際クラブについて徹底研究中

bcdedit/set{current}hypervisorlaunchtypeauto

(山市良/ライター)


【関連記事】
【スライド・ショー】画面キャプチャで見るWindowsの25年間
【Windowsお悩み相談室】第1回 Hyper-Vの管理で困った!! リモートデスクトップ接続で困った!!
【Windowsお悩み相談室】第2回 Server Coreのメリットは本当? 仮想化ライセンスは?…
【解説】徹底検証 Hyper-V 2.0 ―― (1)基本性能
【解説】システム管理 完全自動化プロジェクト
Posted at 12:36 in Earthquake | WriteBacks (0) | Edit
WriteBacks
TrackBack ping me at
Post a comment

writeback message: Ready to post a comment.