Windows XPがサポート終了でWindows8.1にした

Facebook にシェア
[`google_buzz` not found]
[`yahoo` not found]

Windows8.1は、USBインストールができてすごい簡単でした。

・2.5GBのWindows8.1のISO

Windows8のシリアルIDさえあれば、Microsoftからダウンロードできました。USBメモリに入れますね。(64bitは3.15GBです)

・2.5GB空いているUSBメモリ

書き込みに、Universal USB Installer
というソフトを使いました。STEP 1の一番下のほうのWindows 8 Installerを選んで、すぐにFLASHできます。
USBメモリを初期化フォーマットしてしまうので、ほかのUSBメモリは間違えるといけないので、外しておくといいかと。
FLASHに要する時間は10分以下です。

・USBメモリでインストール
BIOSとかからこのUSBを起動してインストール。インストールは20分くらいで終わります。

Windows8.1 32bitのインストール直後で12.8GB使用しています。
Windows8.1 64bitのインストール直後で16.6GB使用しています。

アプリやら統合インストールの対応からWindows XPを使い続けましたが、XPがサポート終了ということでWindows 8.1に変えました。変えてみると、いつの間にかヘビーユーズしているアプリが結構対応していて、ここは全然問題がなさそう。あとはOSのインストールを簡略化するunattendや、Hotfixやドライバーを組み込めるといいんですが、インストールが大変すぎます。

ドキュメントフォルダなどを移動する

ドキュメントフォルダといった対象のフォルダを右クリックして、
場所タブの移動。

devcon.exe, Windows8対応版

WIFIにつないでいない時に、
ネットにつながっていればネット接続を切断し、
ネット接続が切断されていればネットに接続することを
ワンクリックで行うスクリプトを作ります。

devcon.exe, Windows8対応版を手に入れます。
Installing DevCon on Windows 8.1
ここに書いてあります。
細かいところを忘れてしまいましたが、SDKを何かインストールしたら、
devcon.exeが入っていました。こいつをコピーしたら、もうSDKは不要なのでアンインストールします。

これを
32bitのdevcon.exeは

i386_8
フォルダーに

64bitのdevcon.exeは
ia64_8
フォルダーに入れます。

netonoff.jsを作ります。
フォルダ構成は、

netonoff.js
+ i386_8 フォルダー
devcon.exe
+ ia64_8 フォルダー
devcon.exe

netonoff.jsの内容

var WshShell = new ActiveXObject("WScript.Shell");

//デバイス
var DeviceIS =
"PCI\\VENなんたらかんたら"; //ここはコマンドプロンプトでdevcon該当する有線NICのハードウェアIDとかを指定しますね。デバイスマネージャーのネットワークアダプターの、該当NICの詳細タブにあります。

//32か64か。
var is64 = WshShell.Environment("Process").Item("PROCESSOR_ARCHITECTURE")
if (is64 == "x86") {
is64 = false;
} else {
is64 = true;
}

//XPとか8とか
var os_type;
var wmi = GetObject("winmgmts:\\\\.\\root\\cimv2");
var items = wmi.ExecQuery("Select * from Win32_OperatingSystem");

var e = new Enumerator(items);

for(; !e.atEnd(); e.moveNext()){
var item = e.item();
if(item.Caption.toLowerCase().indexOf("windows 8") != -1)
os_type = "8";
else
os_type = "0";
}

var devconFolder;
if (is64 && os_type == "8")
devconFolder = "ia64_8";
else if (!is64 && os_type == "8")
devconFolder = "i386_8";
else
devconFolder = "i386";

//WIN8なら状態取得
var NIC = false, WIFI = false;
if (os_type == "8") {
var locator = new ActiveXObject("WbemScripting.SWbemLocator");
var service = locator.ConnectServer();
var nas = service.ExecQuery("Select * From Win32_NetworkAdapter Where NetConnectionID IS NOT NULL");

var e = new Enumerator(nas);

for(; !e.atEnd(); e.moveNext()){
var item = e.item();
var name = item.name;
var status = item.NetConnectionStatus;
if (name.indexOf("PCIe GBE") != -1) {
if(status == 2)
NIC = true;
}
if (name.indexOf("Wireless") != -1) {
if(status == 2)
WIFI = true;
}
}
}

var fso = new ActiveXObject("Scripting.FileSystemObject");
var pFolder = fso.GetParentFolderName(WScript.ScriptFullName);
var devcon = pFolder + "\\" + devconFolder + "\\devcon.exe ";

if (os_type == 8) {
if (WIFI)
WScript.echo("WIFI接続中");
else if (!NIC) {
var objExec = WshShell.Exec("cmd ");
objExec.Stdin.Writeline(devcon + " enable " +"\"" + DeviceIS + "\"");
var time = 14;
while(!objExec.StdOut.AtEndOfStream)
{ WScript.Sleep(32); time--; if(!time){objExec.Terminate();WScript.quit();} }
}
else if (NIC) {
var objExec = WshShell.Exec("cmd ");
objExec.Stdin.Writeline(devcon + " disable " +"\"" + DeviceIS + "\"");
var time = 14;
while(!objExec.StdOut.AtEndOfStream)
{ WScript.Sleep(32); time--; if(!time){objExec.Terminate();WScript.quit();} }

}
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です