*[winpe] WinPEを使用したGhost用起動イメージの作成

(2018年1月29日ネットワークドライバのインストールを追加)

Norton Ghost Solution Suite には Boot disk Creater があって、Ghost の起動ディスクが作成できるようになっているが、これで作成すると日本語の表示ができなかったりしてクソいので、素直にWinPEつかって起動環境つくりましょう。

インストールと起動

以下のURLから「Windows 8.1 Update 用 Windows アセスメント & デプロイメント キット (Windows ADK)」をダウンロードしてインストール。
https://www.microsoft.com/ja-jp/download/details.aspx?id=39982


「スタート」-「全てのプログラム」-「Windows AIK」もしは「Windows OPK」-「展開およびイメージング ツール環境」を管理者として実行すると、コマンドプロンプトの画面が開きます。
今後の操作は全てここで作業します。

作業ディレクトリの作成

copype.cmd コマンドを使用して作成するWinPEのアーキテクチャと、作業用フォルダを作成します。 アーキテクチャには amd64 と x86 、ia64 が指定できるそうです。 ia64 ってできるの?

copype <アーキテクチャ> <作業フォルダ>
copype amd64 d:\winpe

上記のコマンドで、以下のディレクトリが作成されます。

d:\winpe\fwfiles
d:\winpe\media
d:\winpe\mount

イメージのマウントとコンポーネントのインストール

作業用のイメージをマウントします

d:\winpe>dism /mount-image /imagefile:d:\winpe\media\sources\boot.wim /Index:1 /MountDir:d:\winpe\mount

コンポーネントをインストールしていきます。

d:\winpe>dism /image:d:\winpe\mount /Add-package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab"

コンポーネントの一覧は以下を参照

https://technet.microsoft.com/ja-jp/library/hh824926.aspx#オプション コンポーネントの一覧


コンポーネントのインストールする順番を間違えると起動しない WinPE ができてしまうので、沢山のコンポーネントをインストールするときには注意が必要

日本語を表示させるために、メインのコンポーネントとそれの日本語版が ja-jp フォルダにあるので、メインに続けて日本語化されたコンポーネントをインストールするほうがいい様子

WinPE-WMI.cab、ja-jp\WinPE-WMI_ja-jp.cab、ja-jp\lp.cab、winPE-FontSupport-JA-JP.cab、 最低限このパッケージをこの順番で。 ネットワークを使うなら、WinPE-RNDIS, WinPE-Dot3Svc もかな

インストールされたコンポーネントは以下のコマンドで確認できる

dism /get-packages /image:d:\winpe\mount

日本語化

コンポーネントをインストールしたら日本語化していく

d:\winpe>dism /image:d:\winpe\mount /Set-AllIntl:ja-jp
d:\winpe>dism /image:d:\winpe\mount /Set-InputLocale:0411:00000411
d:\winpe>dism /image:d:\winpe\mount /Set-LayeredDriver:6
d:\winpe>dism /image:d:\winpe\mount /Set-TimeZone:"Tokyo Standard Time"

上から順番に、日本語を設定、入力を日本語に設定、キーボードを日本語キーボードに設定、タイムゾーンを日本に設定

ネットワークドライバの追加

WinPEでネットワークを使用したいのなら、ドライバをインストールする必要があります。 パソコンのメーカーサイト、もしくはネットワークカードのメーカーサイトからドライバドライバをダウンロードします。


今回の場合、Windows8.1 64bit版のWinPEで環境を作成しているので、Windows8.1、64bit版のドライバを探してきます。 そんなに大きな違いもないだろうから、Windows10の64bit版でも使えるかも。


パソコンメーカーからのだと、自動実行ファイルになっていたりするので、拡張子のEXEをzipとかRARに変更すると解凍できるかもしれない。


ドライバファイルを探して解凍して、infファイルを探します。

d:\winpe>dism  /Add-Driver /Image:d:\winpe\mount  /Driver:"C:\SampleDriver\driver.inf"

でドライバをWinPEにインストールすることができます。

d:\winpe>dism   /Get-Drivers /Image:d:\winpe\mount

でインストールシているドライバの一覧を確認できます。

Ghost 関係のあれこれ

Ghost関係のファイルでどれが必要なのかあまり追求してないです。
BootDiskCreater をインストールしていると、C:\Program Files (x86)\Symantec\Ghost にGhost関係のファイルがインストールされているので、そこから必要なものを WinPE に持って行きます。


d:\winpe\media に Ghost のフォルダを作ってコピーすると、WinPE で起動したとき、d:ドライブなどになり、変更が可能になります。
d:\winpe\mount にコピーすると、boot.wmi に含まれ、起動ドライブにGhostが配置されます。起動時に読みこまれることになり若干時間がかかりますが、個人的にはドライブがわかりやすいので、media に作成するほうがいいかな


WinPE で起動すると、スタートアップスクリプトは、d:\winpe\mount\windows\system32\startnet.cmd が実行されます。
初期状態では、wpeinit だけが記述されていますが、wpeinit は残して、あとはバッチファイルとして好きに書けます。
そのままだと上書きできないようなので、他の場所に保存して、ファイルの上書きをしたほうがよさそう


Ghost用のバッチファイルなどを d:\winpe\media\ghost にコピーするなどして、完成

WinPE 起動イメージの作成

Ghost とか他のプログラムなどをインストールして、環境が作成できれば、WinPE のイメージの作成


先ずはイメージのアンマウント、d:\winpe フォルダを開いているエクスプローラーなどがあるとアンマウントに失敗するのでそこらへんは全て閉じておく

d:\winpe>dism /Unmount-Image /mountdir:d:\winpe\mount /commit

アンマウントできればイメージの作成

d:\winpe>makewinpemedia /iso d:\winpe d:\winpe\64.iso


上記のISOをUSBに焼くと、起動時にキーボードを押さないとHDDから起動してしまう。

なにもせずにUSBから起動するようにするには /UFD オプションを指定してUSBに直接データを書き込む必要がある

d:\winpe>makewinpemedia /ufd d:\winpe f:


ネットワークドライバを組み込んでおり、LANケーブルを接続した状態で起動すると、DHCPでIPアドレスを取得して設定された状態になります。


ネットワークが使用できれば、Ghost Cast でイメージの一斉配信なんかも可能ですね。


以上

参考
https://technet.microsoft.com/ja-jp/library/hh824926.aspx

日本人の知らないユダヤ人

日本人でもユダヤ人になることができて、ユダヤ人になればイスラエル国籍を取得することができる。
欧米ではいろいろな階層にユダヤ人がいて、なんとなく雰囲気でわかる物らしいが、多くの日本人にとってユダヤ人とはどのような人々なのかと言うことはよくわからないと思う。
そのユダヤ人について、日本人からユダヤ教徒に改宗してユダヤ人になった著者が、その切っ掛けから改宗してユダヤ人になるまで、そしてユダヤ人はどのような人々なのかを、日本人という背景をもちながら、国際的な視点から語っているのでとてもわかりやすい。


ユダヤ人は2000年以上前から続くユダヤ教という物を紐帯として連携し、コミュニティを作り、そしてそれを規律として自らに課し続けてきた。 ひるがえって今の日本を見るとそのような社会的規律というような物はほぼ無くなってしまっていると思う。それは宗教などに縛られない分、とても自由な社会だと思うがその反面、精神的に頼るべき物、自分の背景、土台とするべき物がとてもあやふやな状態になっているのではないかと感じる。 これがニーチェの言った「神は死んだ」という社会なのだろう。


おそらく戦前戦後のしばらくまでは日本の精神的柱として、天皇を頂点とした「家」というシステムがあったのだろうと思うが、これはもうすでに機能しなくなっている。そういう現状に対して、何とかしようという動きが安倍首相の道徳教育や、森本学園の教育勅語なのだろうと思うが、こういった物に対する反応を見ていると一度失われた民族の神話や伝統を復活させることの難しさを感じる。

パスワード管理ソフトのススメ

DMMで不正アクセスされてエロ動画を4万2380円分落とされたけど、それで済んだわけと原因と対策を考えてみた - Engadget 日本版

engadgetというそれなりにテクノロジに詳しいサイトのライターですら

さすがにすべてのサービスを違うパスワードというのは、無理があるので、メールサービスで使っているものとほかのサービスとで変えるなど、できる範囲で変更しました。ただランダムパスワードにしても覚えられないので、従来より複雑にしつつ覚えられる範囲のものにしています。

といっているが、パスワード管理ソフトを使えば簡単にできる話なのになぜしないのか不思議で仕方ない。

パスワードを記憶に頼るという事をしている時点でセキュリティの弱点になる。


昨今様々なサイトで様々なアカウントを登録していると思うが、これらを記憶に頼るとどうしても2つか3つ、多くて5つくらいのパスワードを使い回すことになる。 そうなると上記の記事のようにどこかのサイトでパスワード流出があれば、それが他のサイトでも攻撃に使用されて、アカウントハックされてしまうことになる。


そうならないように昔からパスワード管理ソフトがあるんだが、昨今のパスワード管理ソフトは複数のOSに対応している物が多くあり、例えば自分が使用しているKeePass Password Safeなら、Windows、Mac、Android、iOSと普通の人が使うであろうOSなら全部対応している。

これのパスワードファイルをDropboxなどのオンラインストレージに入れて同期するようにすれば、どこの環境からでも自分のパスワードが最新の状況で使用することができる。


たしかに覚えているパスワードを入力するのと比較すると、Keypassなどを起動してパスワードをコピーしてくるのには若干手間がかかるが、いろんなサイトからパスワードが流出している現状、とくにお金が絡むサイトについてはパスワード管理ソフトでアカウントを管理するべきだと思う。


まずは金銭が絡むサービスからパスワード管理ソフトを使用してなれていってみてはいかがでしょうか。

ジョギングを始めて1年が経過した

ジョギングを始めてから1年が経過した。

最初は2.5km15分でどうにかこうにか走り切ったものの、次の日から1週間階段を降りるのもつらい筋肉痛に苦しまされることになった。

最初はそんな状態で、途中一月半ほど腰痛で走らない時もあったり、頻度がさがったりもしつつ、週1回から2回、1回7km前後のジョギングを習慣として続けることができたのは多分いい成果だろうと思う。

ほぼ1年ジョギングしてきたわけだが、なにか変化があったかというと実のところさほど変化がない。 

体重は元々77kgから78kgだったのが、76kgから77kgほどになり、多少食べて増えてもすぐ戻るようになった

体力は上がっているんだろうけど、明確に体力が上がったという感じはない、疲れてからの回復力は良くなったかなという気がする。

多少お腹の脂肪が減ったかなと言うのと、足のサイズが若干大きくなったような気がする。 さすがに脛には筋肉がついた。明確にな変化は脹ら脛の筋肉くらいか。

もうちょっと大きな変化があることを期待していたのはあるが、1年程度ではこんな物なのかも知れない。 長く続けていれば、しなかった場合との変化が大きくなっていくのだろうけれど、しなかった場合のことはわからないので、どれだけやってもあまり変化がないなと思うのかも知れない。

button をクリックしてページ遷移

buttonタグで作成したボタンをクリックしたらページ遷移させる方法にはいくつかある。

アンカータグでのリンク

<a href="hoge.html"><button type="button" >hoge</button></a>

javascriptで遷移

<script>
  function golink(){
     location.href="hoge.html";
  }
</script>
<button type="button" onclick="golink()">hoge</button>

phpで遷移

<?php
  if (isset($_POST['action']['golink'])){
    header('Location: http://www.example.com/hoge.html");
  }
?>
<form action="#" method="POST">
<button type="submit" name="action[golink]">hgoe</button>
</form>

Javascript でチェックボックスの状態を操作して、phpで受けとる

function AllCheck(){
    "use strict";
    var checked = document.formnm.chkall.checked;
    for (var i=0, len=document.formnm.elements['chkbx[]'].length;i<len;i++ ){
        document.formnm.elements['chkbx[]'][i].checked = checked;
    }
}
<form name="formnm" action="" method="POST">
<input type="checkbox" name="chkall"  onclick="AllCheck()" />全てにチェック
<input type="checkbox" name="chkbx[]" value="1">1
<input type="checkbox" name="chkbx[]" value="2">2
<input type="checkbox" name="chkbx[]" value="3">3
<input type="submit">
</form>

Javascript でチェックボックスの状態を操作して、phpで受けとる

function AllCheck(){
    "use strict";
    var checked = document.formnm.chkall.checked;
    for (var i=0, len=document.formnm.elements['chkbx[]'].length;i<len;i++ ){
        document.formnm.elements['chkbx[]'][i].checked = checked;
    }
}
<form name="formnm" action="" method="POST">
<input type="checkbox" name="chkall"  onclick="AllCheck()" />全てにチェック
<input type="checkbox" name="chkbx[]" value="1">1
<input type="checkbox" name="chkbx[]" value="2">2
<input type="checkbox" name="chkbx[]" value="3">3
<input type="submit">
</form>