ジャンル不定の日記です。

Virtualboxのディスクイメージを縮小しようと思ったんだが・・・

Virtualboxのディスクイメージを縮小しようと思ったんだが、

まず、ゲストOS側でディスク末尾までの未使用領域を0で埋める。
Linuxの場合は、
$ dd if=/dev/zero of=zero;rm zero
こんな感じ。ddで末尾まで0で埋めるファイルを作成して、そのままrmで消す。
という方法で0で埋めれる。
Windowsの場合もそういうコマンドはあるらしい。

末尾まで0で埋まったらホストOS側で、
$ vboxmanage modifyhd [UUIDかファイルパス] --compact
をすると.vdiが一時的に縮小できる。
.vdiのファイルパスを指定してもいいが、VM名にスペースが入ってるとめんどい。
$ vboxmanage list hdds
でUUIDを確認できる。

だが、これディスクの後ろの方が使われちゃってる場合はそこまでしか圧縮できないから劇的な圧縮ができない可能性があるね。
手元でも期待した効果がなかった。


で、一時的に.vdiを圧縮してから、
$ vboxmanage modifyhd [UUIDかファイルパス] --resize メガバイト
でゲストから見えるHDDのサイズが変更できるんだが、これ拡大はできても縮小はできない。
一度大きくしちゃったらもう小さくすることはできない。


いつも、VDIは可変サイズだから適当に20GBで仮想環境作っちゃうんだが、
可変サイズといっても、ゲスト側が満タンでなくてもディスク末尾に書き込まれたらそこまで拡大しちゃうから、ギリギリの容量にして必要に応じて拡大すべきと思ったんで変更しようと思ったんだが、
縮小するのは思ったよりも難しい。

ゲストOSでパーティションを縮小して、CDブート等でデバイスの生イメージを取得してホストでVDIに変換。
って形で可能なのかな?

WindowsXPのP2Vを試みた

古いノートPCでWindowsXPの32bit版が載ってるのがあるんだが、
手持ちのDSP版は64bit版で、64bitのXPはハード屋にもソフト屋にも見捨てられてて使えないことが多いので、
古いノートPCから32bitのXPを抜き取ってVirtualboxに入れようと試みた。
ノートの方はまだかろうじて起動するのだが、サーマルエラーで起動時にBEEP音が鳴り、CPUも異常に遅くてかなり厳しい状態。

富士通のFMV3MGCL8ってノートPCで、
本来はXPのHomeエディションが付いているんだが、支給品でボリュームライセンスのProが入ってる。


まず、ノートのHDDを取り出してddでイメージ化。
#dd if=/dev/sdf of=sdf.img
HDDが古いからか結構時間かかった。
HDDはIDEとかSATAをUSB化するケーブルで繋いだ。
当然だが、デバイスをroot権限で読み込むので、出来上がるイメージはroot所有になるのでchownした。

ddした生イメージはVirtualboxで使えないようなので、VDIに変換。
$ VBoxManage convertdd sdf.img sdf.vdi --format VDI
こっちのほうが速かった。


出来上がった.vdiをハードディスクとしてVirtualvoxで起動してみたが、構成が変わっていると言われて起動できない。
メモリ容量とかMACアドレスとか実機で調べて合わせてみたが無理。

Windowsのmsinfo32というコマンドでBIOS情報が見れるとのことで試してVirtualboxに設定を試した。
VirtualboxのVMsディレクトリにある.vbox-prevファイルが設定ファイルのようで、<ExtraData>の下にある<ExtraDataItem>でBIOS情報が設定できるのだが、ファイルを直接いじっても有効にならない模様。
VBoxManage setextradata "VM名" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardVendor" "FUJITSU"
みたいな感じで設定するらしい。
いくつか設定してみたが、起動しなかった。

msinfo32だと見れる情報が少ないようで、dmidecodeというコマンドを使うともっと見れる。
Arch Linuxでは公式リポジトリから入れられるコマンドだが、Windows用も存在していてググったらすぐ出てきた。
ノートPCは無線LAN非搭載で、以前使ってた無線LANカード挿してみたが機能しなかった。
メイン機で落としたdmidecodeをUSBメモリで渡そうとしたが、FATで初期化されてるぽいUSBメモりが手元になかったが、USB接続のFDDがあったんで、それで渡した。
dmidecodeの出力をファイルに保存してメイン機の方でVirtualboxの設定をいじってみたが、ダメだった。


今回は断念。
単にディスクイメージ抜くだけで何も設定せず起動するらしい情報もあるんだが、Windowsの認証突破は難しいよね。
P2V支援ツールみたいのも試してみたいが、ノートの方が無線LANでネット繋げないからめんどくさい。
暇なときに有線LANで試してみるかな。

MRRライセンスの中古PCが良いかも・・・

今日もヤフオクで1回入札して、微妙に足りず落札できなかった。

今日も中古PCについて調べたりしたが、
中古PC用のライセンスとして、「MAR」「MRR」という形態のWindowsライセンスがあることを知った。


MAR  (Microsoft Authorized Refurbisher)
元々WindowsがプリインストールされていたPCに、同じバージョンのWindowsがクリーンインストールされるライセンス。
製造メーカーに提供されるOEMの中古屋版な感じですね。
かなり大規模な中古屋でしか扱ってない模様。
以前はクリーンインストールされた状態で別に32bitと64bitのインストールディスク2枚が付属したらしいのだが、現在ではOEMと同じようにHDDにリカバリ領域が設けられてインストールディスクは付かなくなったらしい。

MRR (Microsoft Registered Refurbisher)
こちらのライセンスは、元々のプリインストールされていたバージョンとは関係なしに中古PCにクリーンインストールされるライセンスぽい。
こちらはインストールディスクが1枚つく。
これはPCパーツとセット販売のDSPの中古PC版な感じぽい。


MARもMRRも、新品PCや初回インストールと同じで購入時点でアクティベートされておらず、届いてから自分でアクティベートする。
ってことは、アクティベートする前に別PCで起動しちゃえば、そっちで認証できるような気がする・・・
だとすると、インストールディスクがついてくるMRRはDSP版と全く変わらない利便性な気が。
MARの方はインストールディスクがないので不便なことは間違いないが、アクティベート前にUSBブートとかでLinuxからリカバリ領域を抜き取るとか、HDDを別環境にセカンドHDDとして繋ぐとかで、別PCにインストールできるかな?


MARやMRRはまともな中古業者じゃないと販売できないのでヤフオクではあまり出回っていないが、
中古販売のサイトとかでは扱ってるショップが多い。
商品ページにMARかMRRの記載があれば確実だが、扱ってるショップではサイト上に「Microsoft Authorized Refurbisher」か「Microsoft Registered Refurbisher」のロゴ画像貼ってるところが多いぽい。

中古ショップいくつか周って調べたが、ノートPCだと7000円付近が下限でデスクトップだと4000円付近が下限なのかな。って感じ。
MRRは、OS無しのPCに「希望なら4000円でMRR」の記載がある商品を見つけたんで、OS仕入れ価格がそのくらいするのかも。MARはもっと安いのかな?

ヤフオクで最大でも5000円くらいで考えてたが、MARやMRRと同じ値段だったら、ノーリスクのMARやMRRを選ぶね。
DSPで10000円以上するし、Windowsの入手だったらMARかMRR狙った方が安く買えそう。通販だと送料高いけど。