Windowsのインストーラディスクの作り方
Windowsをクリーンインストールする際には,DVDなりUSBフラッシュメモリといったインストールメディアが必要となります.
しかしながら,最近主流となりつつあるダウンロード販売や,MSDN Subscription,Microsoft Imagine(旧Dream Spark)といったサービスでは,isoファイル等のディスクイメージの形でのみWindowsのインストールメディアが入手出来るようになっています.
仮想環境に展開する場合はそのままでもよいのですが,物理環境にWindowsをインストールするためにはisoファイルからインストールメディアを作成することが必須となりますので,その方法を書きたいと思います.
DVDメディアへ書き込む場合
Windows 7以降では,OS標準機能として,CDやDVDへのisoファイルの書き込みに対応しています.
isoファイルのファイルサイズに比べて十分大きな容量のブランクディスク(DVD-R/RWなど)をディスクドライブに入れます.このとき,自動再生メニューが表示されたらキャンセルを選択してください.
書き込むisoファイルを右クリックして「ディスク イメージの書き込み」を選択します.
「書き込み」をクリックして,書き込みを開始します.正しく書き込めているか確認する(ベリファイ)には「書き込み後のディスクの確認」にチェックを入れておくとよいです.
書き込み作業が終了すると,インストールメディアの作成は完了です.
USBフラッシュメモリへ書き込む場合
USBメモリのフォーマット
注意:USBフラッシュメモリの内容がすべて消去されます.必要なファイル等は必ずバックアップを取ってください
USBフラッシュメモリをPCに差し込みます.
エクスプローラで対象のドライブを右クリックして「フォーマット(A)...」を選択します.
図のようにファイルシステムを「FAT32」に設定して,フォーマットを「開始(S)」します.
以降,差し込んだUSBフラッシュメモリのドライブをF:
とします.
isoファイルのマウント
Windows 8以降では,OS標準機能として,isoファイルの仮想ドライブとしてのマウントに対応しています.
書き込むisoファイルをダブルクリックして,isoファイルを仮想ドライブとしてマウントします.
以降,isoファイルをマウントしたドライブをG:
とします.
イメージ内容のコピー
マウントしたisoファイルにあるファイル(G:\
以下)のすべてのファイルをUSBフラッシュメモリ(F:\
)にそのままコピーします.
ブータブルディスクとして設定
イメージ内容をコピーしただけのUSBフラッシュメモリは,そのままではWindowsのインストールメディアとして利用することができません.イメージファイルに含まれるツールを用いて,ブータブルディスクとして設定します.
まず,コマンドプロンプトもしくはPowerShellを「管理者として実行」します.
Windows 8以降ではWindowsキー
+X
を押して出るメニューから選択して簡単に起動できます.
cdコマンドでマウントしたイメージファイル(
G:\
)のboot
フォルダに移動します.
cd /D G:\boot
USBフラッシュメモリをブータブルディスクとして設定します.
次のコマンドを実行してください.(USBフラッシュメモリはF:
)
bootsect /nt60 F:
次のように処理が成功したことを確認します.
以上でインストールメディアの作成は完了です.
PowerShellでリモートからコマンドを実行する
はじめに
みなさん,Linuxの管理時にSSHは使われますか?(使われますよね)
Windowsでも,リモートデスクトップではなく,PowerShellを使ってリモートからアクセスしたい!と思いませんか?(思いますよね)
ここでは,Windows 7以降を実行するWindows(Server・コンシューマどちらでも)に対して,リモートからPowerShellを用いてアクセスする方法を書きたいと思います.
WinRM (Windows Remote Management)を有効にする
接続先のホストで,一度だけ次のコマンドを実行して,WinRMを有効にします.
Enable-PSRemoting
この時,ネットワークの設定が「プライベート」でない場合,エラーが発生して停止してしまいますので,ネットワークの設定を変更するか,次のコマンドで強制的にWinRMを有効にします.
Enable-PSRemoting -SkipNetworkProfileCheck
同様に,接続元のホストでも先ほどのコマンドを実行してWinRMを有効にします.
なお,WinRMを有効にすることで,ファイアウォールの5985番ポートがオープンしますのでご注意ください.
TrustedHostsを設定する
WinRMでは,接続元のホストから見て,接続先のホストが「信頼できるホストである」ことが必要です.
Active Directory配下にどちらのホストも存在する場合は問題ないのですが,ワークグループ環境などでは,次のコマンドを用いて個別に接続先のホストを信頼してあげる必要があります.
接続元のホストから,次のコマンドを実行してください.
Set-Item WSMan:\localhost\Client\TrustedHosts -Value (ホスト名 or IPアドレス or *)
実行すると次のようなメッセージが表示されますから,Yを入力して続行します.
WinRM セキュリティの構成。 このコマンドは WinRM クライアントの TrustedHosts の一覧を変更します。TrustedHosts の一覧内にあるコンピューターは認証されない可能性があります。クライアントはこれらのコンピューターに資格情報を送信する可能性があります。この一覧を変更します か? [Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y
複数のホスト名やIPアドレスを設定する場合
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "host1, host2"
すべてのホストを信頼する場合
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*"
現在設定されているTrustedHostsを確認
Get-Item WSMan:\localhost\Client\TrustedHosts
設定されているTrustedHostsをすべて消去
Clear-Item WSMan:\localhost\Client\Trustedhosts
これで,接続前の準備は完了です(2回目以降は行う必要はありません)
セッションを開始する
次のコマンドにより,リモートマシンへの接続を開始します.
コマンド実行後にパスワードを入力するダイアログが開きます.
Enter-PSSession -ComputerName (ホスト名) -Credential (ユーザ名\ドメイン)
以降,ローカルマシンと同様にリモートコンピュータ上でPowerShellによる操作を行うことができます.
セッションを終了する
セッションを終了する場合は次のコマンドを実行します.
Exit-PSSession
便利なコマンド
ネットワーク接続がおかしくなった時に試すこと
ネットワーク接続がどうもおかしくなった時に試すことを書き並べます.
0. 本当に切れているのか確認
コマンドプロンプト(Windows)やターミナル(Mac)を起動して,ping 8.8.8.8
と打ち込んでEnterを押します.
Windowsなら,Windowsキー
とR
を同時に押して,出てきたダイアログにcmd
と打ち込んでEnterを押せば立ち上がります.
次のように「損失が0%」と表示されれば,インターネットにはつながっています.
ping 8.8.8.8 8.8.8.8 に ping を送信しています 32 バイトのデータ: 8.8.8.8 からの応答: バイト数 =32 時間 =10ms TTL=58 8.8.8.8 からの応答: バイト数 =32 時間 =7ms TTL=58 8.8.8.8 からの応答: バイト数 =32 時間 =14ms TTL=58 8.8.8.8 からの応答: バイト数 =32 時間 =16ms TTL=58 8.8.8.8 の ping 統計: パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、 ラウンド トリップの概算時間 (ミリ秒): 最小 = 7ms、最大 = 16ms、平均 = 11ms
続いて,ping www.google.co.jp
と打ち込んでEnterを押します.
ping www.google.co.jp www.google.co.jp [216.58.197.131]に ping を送信しています 32 バイトのデータ: 216.58.197.131 からの応答: バイト数 =32 時間 =19ms TTL=54 216.58.197.131 からの応答: バイト数 =32 時間 =18ms TTL=54 216.58.197.131 からの応答: バイト数 =32 時間 =20ms TTL=54 216.58.197.131 からの応答: バイト数 =32 時間 =26ms TTL=54 216.58.197.131 の ping 統計: パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、 ラウンド トリップの概算時間 (ミリ秒): 最小 = 18ms、最大 = 26ms、平均 = 20ms
こちらも損失が0%なら問題はありません.
1. Windowsネットワーク診断による自動修復を試す(Windows)
次の記事に従い,XP以降のWindowsに標準で装備されているネットワーク診断ツールを実行してみます.
すぐに修復可能な問題が見つかれば,自動で修復を実行してくれます.
2. IPアドレスの強制再取得(Windows)
スタートメニューから「コマンドプロンプト」を探して,右クリック,「管理者として実行」をクリックしてください.
黒い画面が立ち上がったら,次のコマンドを1行づつ順番に入力してEnterを押してください.
ipconfig /release * ipconfig /flushdns ipconfig /renew
3. LANケーブル・無線LANアダプタの確認
有線LAN接続の場合はLANケーブルが抜けていないか,無線LAN接続の場合はアダプタが抜けているもしくはOFFになっていないことを確認しましょう.よくあることです.
4. PCの再起動・掃除
解消されなければ,とりあえず,PCを再起動しましょう.
もし,PC内部が埃で詰まっているようなことがあれば,シャットダウンしてACアダプタを抜き,内部を掃除してください.
熱がたまるといたるところに不調が現れます.
5. ルータの再起動
それでも治らなければ,途中にあるルータやスイッチングハブをすべて再起動しましょう.
大体はACアダプタをぶちっと抜いて,ちょっと経ってから差しなおせばOKです.
6. ネットワークアダプタの初期化(Windows)
ネットワークアダプタを初期化してみます.
2.と同様に,コマンドプロンプトを管理者として実行してください.
続いて,次のコマンドを入力してEnter,完了したらPCを再起動してみてください.
netcfg -d
それでもなおらん
以上の手順を試しても復旧できない場合は,デバイスに物理的な問題が発生している,もしくはインターネットプロバイダに障害が発生していることが考えられます.
Bash on Ubuntu on WindowsのrmはACLを無視して削除できるのか
はじめに
つい昨日,こんな記事を見かけました.
なんと,Bash on Ubuntu on Windowsで sudo rm -rf --no-preserve-root /
を実行すると, /mnt
にWindows上の C:\
がマウントされているために,Windowsが起動不可能になってしまうようです.
ここで疑問に思いました.
最近のWindowsでは,重要なシステムファイルは,Administrators権限ですら削除できないようにACL(アクセス制御リスト)でガッチガチに保護されているのでは?
ということ.
はたして,Bash on Ubuntu on Windowsでは,ACLに打ち勝ってシステムに保護されたファイルを削除できるのか,試してみることにしました.
まずはWindows側から検証
まず初めに,Windows側でいろいろ試してみたいと思います.
といっても,使っているWindowsをぶっ壊されては堪らないので,Cドライブ直下にあるWindows.old
の残骸を使います.
このWindows.old
フォルダですが,Windowsのアップグレード時に,前のバージョンやビルドに戻すためのデータを一時的に保管するために自動生成されるフォルダで,不要になればディスククリーンアップツールを使用して削除することができます.
ところが,稀にSYSTEM権限でしか触れないシステムファイルが入ってしまい,通常のWindowsからは削除できずに残ってしまうことがあります.
エクスプローラ
まず,普通にエクスプローラから
はい.普通に怒られました.
コマンドプロンプト
次に,コマンドプロンプト(管理者権限)から rmdir /S .\Windows.old
でいってみます.
無理ですね.
PowerShell
ならば,われらがPowerShell(管理者権限)で Remove-Item -Path .\Windows.old -Recurse -Force
を実行.
こちらも盛大に怒られました.
本丸のBash on Ubuntu on Windowsで検証
では,本丸のBash on Ubuntu on Windowsでやってみたいと思います.
と思ったら,Bash on Ubuntu on Windowsを入れ忘れていた...
入れましょう
さて,気を取り直してbashで sudo rm -rf ./Windows.old/
を実行します.
怒られました.よかった...
まとめ
Bash on Ubuntu on Windowsも,ちゃんとWindows側のACLに従って(あたりまえだけど)消せないものは消せないようになっています.
でも,/mnt
に全ドライブマウントされているので,迂闊に sudo rm -rf --no-preserve-root /
なんてやっちゃだめですよ!