ギャバンITサービス
お菓子の家が作れるシステムエンジニアです

VMWare のネットワークアダプタのMACアドレスを変更する

macアドレス変更のボタンがあるのでこの方法はほぼ使わない。p2vしたとき任意のMACアドレス使いたいときがあったので手順だけ置いとく。MACアドレスはUUIDから決まるらしくUUIDを変更する。構成ファイルxxx.vmxを編集する。 1 2 uuid.bios = "xx xx xx xx xx xx xx xx-xx xx xx xx xx AA BB CC" ethernet0.generatedAddress = "xx:xx:xx:AA:BB:CC" すべてのアドレスを変更する場合以下の行を削除。 1 2 3 ethernet[n].generatedAddress ethernet[n].addressType ethernet[n].generatedAddressOffset 以下の行を追加。 1 2 ethernet[n].addressType="static" ethernet[n].address="xx:xx:xx:xx:xx:xx"

VMwareToolが入ってない場合に、未使用領域をゼロ埋めしてshrinkできるようにする

2012年頃に苦し紛れで実施。今となってはもう使わない方法。次のようなシェルを用意し、子ホストで動作させる。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ## ------------------------------------------------------------------------- ## Script Name : ## Created by : T.Naritomi ## on : 2012.08.31 ## Updated by : ## on : ## Parameters : ## Return Code : 0=Normal End ## Comments : shrink hdd image for vmware. count = ((availableSize) / 20480) - 1 ## ------------------------------------------------------------------------- ## ---detail---------------------------------------------------------------- TMP_FILE=zero.fil LOG_FILE=$0.log rm -f ${LOG_FILE} dd if=/dev/zero of=/${TMP_FILE} bs=20971520 count=870 >> ${LOG_FILE} sync ; sync ; sync ; rm -f /${TMP_FILE} >> ${LOG_FILE} dd if=/dev/zero of=/var/${TMP_FILE} bs=20971520 count=930 >> ${LOG_FILE} sync ; sync ; sync ; rm -f /var/${TMP_FILE} >> ${LOG_FILE} exit dfコマンドで取得したマウントポイント単位でcount値をできるだけ空き領域サイズの計算値に近づける。/dev/zeroを空き領域に書き込んでおき、OS停止させたら親ホストのvmwareからshrinkさせる。 ...

vmwareのゲストOSにUSBデバイスを直つなぎ

ホストOS起動した後に自動でゲストOSを起動するようにしていたとき、USB外付けディスクとか、ゲームパッドとかをゲストOSにつないでしまいたいことがある。USBデバイスにはVendor IDとProduct IDというのがあるらしい。 windowsならデバイスのプロパティにある「詳細タブのデバイスインスタンスID」を見れば判明するし、Linuxなら、 1 cat /proc/bus/usb/devices それがなかったら、このへんにあるはず。 1 ls /dev/bus/usb/devices これで、vmwareのxxx.vmxファイルにVendorIDとProductIDを書き込めば、ゲストOSで接続される。 1 usb.autoConnect.device0 = "0x105a:0xff10"

vmwareでの仮想マシン設定

vmware playerは2.0から使ってる。 一番最初は動きが遅くて遅くて、そりゃもうかなりツラかったなぁ。 今みたいにssdなかったから抵抗した結果こうなった。 windowsとmac共通 cpuとかメモリとか、guiで設定してできたvmxファイルは自分にはそのまま使えない。 エディタで開いていじる。 メモリ取り扱い ramアクセスするとき、vmマシンは物理ディスクアクセスを伴う。 たぶんいきなりバチんと電源切れたときに回復するための材料なんやろけど、そんなんいらん。 ssdまだなかった頃は絶対必須と思ってた設定。 1 2 mainMem.useNamedFile = "FALSE" MemTrimRate = "0" ssd使うようになっても、やっぱりこの設定入れたほうが速くなる。 vramの扱い たとえば256MBにする場合はこう変える(=256x1024x1024)。 1 svga.vramSize = "268435456" macはvramサイズ上がらん。 おかげでfinderとかブラウザとか窓の最大化・最小化とかめっちゃ遅いまま。 目で追うと今はwindows11のvmxにこんな記述もある。 どっち使うんやろ? 1 svga.graphicsMemoryKB = "8388608" 今は使えてるし、まぁええか。 windows特有 windows11からTPMってのが使えなアカン。 vmwareのバージョンを16.2に上げて追記する。 1 managedvm.autoAddVTPM="software" この仕組みけっこうツラい部分があって、vmをフォルダごとバックアップして別のPCに持っていこうとしたら動かん。 同じPCで置き場を変えるのはOK。 え!? アカンの? virtualBOX、hyper-v、その他の仮想化の仕組みを使わずにvmwareにしてる理由がなくなったな。 マシン切り替えるときどないしよ。 ほとんどのアプリはポータブル版使ってるし、officeぐらいしかインストールしてへんからクリーンインストールしたほうが気持ちええねんけどな。 mac特有 毎年夢の中でやってる設定。 smcの設定 1 2 smc.present = "TRUE" smc.version = "0" 日本語キーボード使うための設定 これ入れとかんと英字配列になったはず。 一番最初はパスワード入力とかではじかれたとき気づいた。 ...

vmdkファイルの拡張と圧縮

vmdkファイルは、ゲストOSを動かすときに使うディスクイメージファイル。 ゲストOS作成時に容量全部1ファイルで確保する方法と、小さなサイズの分割ファイルを作っておき必要なときに容量を消費する方法がある。 クレジットカードは一括払いしか使わないようにしてるけど、vmdkは常に分割を選ぶ。 vmdkファイルの実体 windowsホストに容量全部1ファイルのlinuxのゲストOSを作ったらこんな感じ。 1 c:\VMImage\linux-guest.vmdk linuxホストに容量全部1ファイルのwindowsゲストOSを作ったらこんな感じ。 1 /home/VMImage/windows-guest.vmdk ※どっちもVMimageフォルダにM2.ssdをマウントしておくと動きがいい。 ファイルを分割設置するとホストOSで見えるゲストOSのディスクイメージはこんな感じ。 1 2 3 4 5 6 7 /home/VMImage/linux.vmdk /home/VMImage/linux-s001.vmdk /home/VMImage/linux-s002.vmdk /home/VMImage/linux-s003.vmdk /home/VMImage/linux-s004.vmdk : /home/VMImage/linux-sXXX.vmdk vmdkファイルの例 分割の場合、1つ目の"linux.vmdk"ファイルには構成の記述があって、その中はこんな感じ。 要するに「linux-sXXX.vmdkっていうのが実体だよー」と宣言が入っている。 encoding指定も入っているので、windowsホストで動かし始めたVMをlinuxホストに移動してもそのまま動かせる。 “Extent description"ってコメントのあるあたりの実体ファイル名を変更もできなくはない。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 # Disk DescriptorFile version=1 encoding="Shift_JIS" CID=a6f22fbb parentCID=ffffffff createType="twoGbMaxExtentSparse" # Extent description RW 8323072 SPARSE "linux-s001.vmdk" RW 8323072 SPARSE "linux-s002.vmdk" RW 8323072 SPARSE "linux-s003.vmdk" : # The Disk Data Base #DDB ddb.adapterType = "lsilogic" ddb.geometry.cylinders = "13054" ddb.geometry.heads = "255" ddb.geometry.sectors = "63" ddb.longContentID = "6cbf988df67d35f649cfb4a5a6f22fbb" ddb.toolsInstallType = "4" ddb.toolsVersion = "11301" ddb.uuid = "60 00 C2 98 87 d4 4d 05-cc 1d 28 65 69 67 d2 48" ddb.virtualHWVersion = "18" vmdkファイルを分割で利用する理由 ローカルPCでゲストOS動かしているときは、自分はファイルをコピーしてバックアップを必ず取るからvmdkファイルは小さいほうが助かる。 しかもそのバックアップをtar.gzで固めてクラウドに保管するときは費用に直結することもあるので、小さくあってほしい。 ...