推定無題

日々調べたこととか

Windows7でVHDファイルをマウントする

.VHDファイルはVirtualPC2007などマイクロソフトの仮想環境で使われる仮想ハードディスク。
Windows7ではVHDファイルを作成、マウントする事ができる。ちゃんとドライブレターも割り当てられる。すごい。

ディスクの管理

  • ディスクの管理は「Windowsキー+R>diskmgmt.msc」で起動出来る。
  • または、コンピュータの管理>記憶域>ディスクの管理

VHDの作成

  • Windows7:ディスクの管理:操作>VHDの作成
  • VPC2007:ファイル>バーチャルディスクウィザード

接続

  • Windows7:ディスクの管理:操作>VHDの接続
  • VPC2007:仮想マシンを選択:設定>ハードディスクを選択:参照

※注意:Windows7上で「接続」した状態のVHDは、VPC2007の仮想マシン上は読取専用になる(VHDが起動ディスクの場合は起動できない)

切断

  • Windows7:ディスクの管理>下部リストからVHD接続しているディスクを選択:右クリック>VHDの切断


f:id:sunrisebyeast:20120823000444p:plain

※「ディスクの削除後に仮想ハードディスクファイルを削除する」にチェックが入っていると元のVHDファイルも削除されるので注意が必要。

DISKPARTでVHDの接続/切断

DISKPARTでもVHDの接続/切断ができる。応答ファイルを作れば無人化もできるね!

…と思ったら躓いた。仮想ディスクマウント後、ドライブレターを指定するには、予めディスク名/番号かボリューム番号が必要。

DISKPART> select disk <番号か既に割り当てられてるドライブレター>
または
DISKPART> select volume <番号>
DISKPART> assign letter=<割り当てたいドライブレター文字>

上記の何れかの操作が必要。無人化するには予め割り当てるドライブレターを知っていなければいけない。

一応、同じ環境下ならドライブレターは(先に使用されていない限り)変わらない、ハズなので無理矢理バッチ化は出来るか…。

接続

$ diskpart
DISKPART> select vdisk file=<vhdファイルへのフルパス>
DISKPART> attach vdisk
DISKPART> exit

※attach vdiskで空いてるドライブレターにマウントされる。

切断

$ diskpart
DISKPART> select vdisk file=<vhdファイルへのフルパス>
DISKPART> detach vdisk
DISKPART> exit


ちなみにDISKPARTでVHDの作成もできる。省略するけど以下参照。

  • Walkthrough: Deploy a Virtual Hard Disk for Native Boot

http://technet.microsoft.com/en-us/library/dd744338%28WS.10%29.aspx

Gizmo DriveでVHDのマウント/アンマウント

未確認だが、Gizmo Drive(free)を使えば、手軽に接続/切断できるっぽい。

  • Gizmo Drive』でISO、BIN、VHDディスクイメージをマウント : ライフハッカー[日本版]

http://www.lifehacker.jp/2009/01/gizmo_driveisobinvhd.html


※どうでもよいけど接続/切断、マウント/アンマウント、キャプチャー/リリース、適切な用語はどれなの。


参照

  • Windows 7/Windows Server 2008 R2でVHDファイルを直接マウントする - @IT

http://www.atmarkit.co.jp/fwin2k/win2ktips/1231vhdmount/vhdmount.html

  • 【連載】Windows 7の仮想ハードディスクがスゴイ!―(1)手軽にOSテストもできるVHDってナンだ!? : [特集]Windows 7 - Computerworld.jp

http://www.computerworld.jp/topics/win7/151010-1.html

XP: 現在未接続のデバイスをデバイスマネージャで表示する方法

過去に接続したUSBtoSerialケーブルのドライバ削除や、確認に使えます。

以下に詳しい。

http://support.microsoft.com/kb/315539/ja
http://ekousaku.web.fc2.com/ShowNonPresentDevices.html

まとめると
1.コマンドプロンプト

set devmgr_show_nonpresent_devices=1
cd \windows\system32
start devmgmt.msc

2.デバイスマネージャが開くので
メニュー「表示」>「非表示のデバイスの表示」をチェックする。


これで未接続デバイスが表示されるようになる。

.NET Framework 3.5 SP1 のサイレントインストール

dotnetfx35.exe /q /norestart

※実際にはセキュリティの警告がでる、ので完全なサイレントではないけど

オプション

/q UIなし
/uninstall アンインストール
/remove uninstallと同じ
/f 修復
/nopath 修正プログラムを適用しないように指定し、修正プログラムの確認を省略
/norollback 失敗した場合にセットアップがロールバックされないように指定する
/norestart セットアップ完了後再起動しない。 必要な場合、インストーラーはERROR_SUCCESS_REBOOT_REQUIRED(3010)を返す
/? オプション一覧


ダウンロード


その他の情報

.NET Framework 3.5 サイレントインストール (管理者向け)
http://msdn.microsoft.com/ja-jp/library/dd297674.aspx

.NET Framework 3.5 配置ガイド(アプリケーション開発者向け)
http://msdn.microsoft.com/ja-jp/library/dd297672.aspx

Windowsキー + ショートカット

沢山覚えなくてよい、最低限知っておけば役に立つ。

Windowsキーf:id:sunrisebyeast:20120822162237g:plain 動作
r ファイル名を指定して実行
e エクスプローラを起動
d デスクトップの表示/元に戻す
m 全てのウィンドウを最小化
Shift+m Mで最小化したウィンドウを元に戻す
Pause/Break システムのプロパティ


その他は下記が詳しい。

Windowsキー - Wikipedia
http://ja.wikipedia.org/wiki/Windows%E3%82%AD%E3%83%BC

QNAPのNAS導入

私用でQNAP(TS-219PII)を導入して試用。
ちょっと悩んだところをメモしておく。

Wake on LAN機能

出来なくて悩んだ。
WEB管理>システム管理>電源管理で

  1. EuPモードのコンフィギュレーションは「無効」になっている
  2. Wake on LANの設定は「有効」になっている

これでQNAP Finderを起動し

ツール>リモート起動(Wake On LAN)

するも、茄子さんは一向に起動しないのです…

で、いろいろ試した結果

(送信側の)無線アダプタがWake On LAN(WOL)に対応してなかっただけ

ちなみに「Intel(R) Centrino(R) Advanced-N 6250 AGN」
有線で接続してWOLさせたらすんなり起動した…

外部からのアクセス

MyCloudNASを使って公開してみたが、一向に接続できなくて悩んだ。

  1. インターネットには繋がる
  2. NASのIPは固定されている
  3. ルーター側設定でポートは解放済み

で、調べると
QNAPフォーラムで同じ現象が書き込まれてて、まさに同じ。
http://forum.qnap.com/viewtopic.php?p=229988

要は

  • ルーターが"NAT loopback"に対応していないので、ローカル環境からは名前解決ができない。
  • ルーターを通さない方法でアクセスすれば繋がる。
  • ローカル環境から名前解決するにはhostsファイルを編集する必要がある。

で合ってる?

で、やってみたら

  • ルーター通さず携帯で確認したらちゃんと繋がった
  • hostsファイルを編集したら、ローカル環境からもちゃんと繋がった

hostsファイルは下記に

<Windows>\system32\driver\etc

編集する場合、管理者権限が必要。
面倒だったから(プロパティから)Usersにも編集権限を与えてから編集すればOK。
下記のように追加する

<NASのIP>  <名前>  <別名>

例:

192.168.24.xxx  xxx.mycloudnas.com

これで、接続できるようになりました。

VBScript: ごみ箱を空にする

ごみ箱を空にする。(XP)
http://scripting.cocolog-nifty.com/blog/2007/12/post_df8d.html

引用。XPで確認済み。

Set fso=CreateObject("Scripting.FileSystemObject")
Set Shell=CreateObject("Shell.Application")
Set Folder=Shell.NameSpace(10)
For Each FolderItem In Folder.Items()
  If fso.FileExists(FolderItem.Path) Then
    fso.DeleteFile FolderItem.Path,True
  ElseIf fso.FolderExists(FolderItem.Path) Then
    fso.DeleteFolder FolderItem.Path,True
  End If
Next
If Folder.Items().Count=0 Then
  Set sFolder=Shell.NameSpace(fso.GetParentFolderName(WScript.ScriptFullName))
  Folder.MoveHere sFolder.Items().Item(WScript.ScriptName)
  Do While Not sFolder.Items().Item(WScript.ScriptName) Is Nothing
    WScript.Sleep 100
  Loop
  sFolder.MoveHere Folder.Items().Item(0)
End If

コマンドラインから管理ツール等を呼び出す

沢山覚えなくてよい、最低限知っておけば役に立つ。

WindowsKey+Rでファイル名を指定して実行>

コマンド 動作
compmgmt.msc コンピュータの管理
devmgmt.msc デバイスマネージャー
diskmgmt.msc ディスクの管理
services.msc サービス
control FOLDERS フォルダのオプション
control DATE/TIME 日付と時刻
control INTERNATIONAL 地域と言語
osk オンスクリーンキーボード
shutdown /s シャットダウン
shutdown /r 再起動


その他は下記参照

  • @IT:Windows TIPS -- Knowledge:コントロール・パネル・アイテムをコマンドラインから呼び出す

http://www.atmarkit.co.jp/fwin2k/win2ktips/585cplcmd/cplcmd.html

  • @IT:運用 Windows管理ツール再入門 Windows管理ツールの共通フレームワーク「MMC」 3.Windowsで利用可能なスナップイン

http://www.atmarkit.co.jp/fwin2k/operation/mmccons/mmccons_03.html

  • 「ファイル名を指定して実行」のコマンド一覧表 - みで@wiki - livedoor Wiki(ウィキ)

http://wiki.livedoor.jp/mide_home/d/%A1%D6%A5%D5%A5%A1%A5%A4%A5%EB%CC%BE%A4%F2%BB%D8%C4%EA%A4%B7%A4%C6%BC%C2%B9%D4%A1%D7%A4%CE%A5%B3%A5%DE%A5%F3%A5%C9%B0%EC%CD%F7%C9%BD

http://oshieru.blog.so-net.ne.jp/2007-03-02