VirtualBox
windows7
0

[メモ] LinuxホストのVirtualBoxで、Win7ゲストを使用

More than 1 year has passed since last update.

概要

  • VirtualBoxでは、Windowsのアクティベーションに使われている、ホストのSLIC.BINをダンプすることで、それをゲストで使うことができる。
  • 認証済みのtokens.datと組み合わせで、Windowsのアクティベーションができるらしい.
  • 動作確認取れてません(ぉ 動作しました。(2016.10.24)
  • ちょいとグレーなネタですね。限定公開にされたら、そういうことだった、ということで。

環境

  • Windows 7(64bit)プリインストールのパソコン。
    Linuxを入れてしまうので、Windowsをとっておきたいばあいは、別HDDを使うのがいいかと。
  • Windows 7(64bit)インストールメディア (ISOイメージにて使用) 付属のやつじゃないとだめっぽい?
  • Windows 7 のシリアル(本体にシールが張ってあるやつ?)
  • ホストOS: Lubuntu 16.04.1(64bit)をインストールします。
  • VirtualBox: 5.1.6 (virtualbox-5.1_5.1.6-110634~Ubuntu~xenial_amd64.deb)

手順

Windowsで作業

  1. Windowsで起動
  2. C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform\tokens.dat どこかにコピー.
  3. tokens.datのなかから、一部をきりぬいて、oem.xrm-msというファイルを作る。 バイナリエディタで、
    1. OEM Certificateを後方検索
    2. <?xml version=を前方検索 (前に戻って)
    3. そこから、</r:license>の終わりまで切り抜く

Linuxで

  1. Lubuntu インストール
    http://cdimage.ubuntu.com/lubuntu/releases/16.04/release/
    • 更新・再起動 :
      sudo apt-get update; sudo apt-get dist-upgrade; sudo reboot
  2. VirtualBoxのインストール

    # レポジトリとキー追加
    echo 'deb http://download.virtualbox.org/virtualbox/debian xenial contrib' | sudo tee -a /etc/apt/sources.list
    wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
    wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
    # レポジトリ更新
    sudo apt-get update
    # インストール
    sudo apt-get install virtualbox-5.1 -y
    #
    #拡張パックのインストール.
    #VBOX_VER=5.1.6-110634
    VBOX_VER=5.1.8-111374
    VBOX_VERONLY=$(echo $VBOX_VER | cut -d '-' -f1)
    wget http://download.virtualbox.org/virtualbox/${VBOX_VERONLY}/Oracle_VM_VirtualBox_Extension_Pack-${VBOX_VER}.vbox-extpack
    sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-${VBOX_VER}.vbox-extpack
    
  3. 仮想マシン作成: VM_Win7

    • a. 普通にGUIで.
    • b. コマンドラインで.
    VM作成
    VM='VM_Win7'
    #VBoxManage list ostypes #サポートしているOS一覧.
    #
    VBoxManage createvm --name $VM --ostype "Windows7_64" --register
    cd ~/VirtualBox\ VMs/$VM
    #仮想HDD作成
    #VBoxManage createhd --filename $VM.vdi --size 32768  #32GB
    VBoxManage createhd --filename $VM.vdi --size 65536  #64GB
    # SATAポート作成
    VBoxManage storagectl $VM --name "SATA" --add sata --controller IntelAHCI --portcount 2
    # HDDとISOイメージを割り当てる.
    VBoxManage storageattach $VM --storagectl "SATA" --port 0 --device 0 --type hdd --medium $VM.vdi
    VBoxManage storageattach $VM --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium /path/to/windows_7_install_disc.iso
    #
    # CPU2個 メモリ1GB ビデオRAM128MB.
    VBoxManage modifyvm $VM --cpus 2
    VBoxManage modifyvm $VM --memory 1024 --vram 128
    #
    # こまごまとオプション設定
    VBoxManage modifyvm $VM --ioapic on
    VBoxManage modifyvm $VM --pae off
    VBoxManage modifyvm $VM --largepages on
    #VBoxManage modifyvm $VM --audiocontroller hda
    VBoxManage modifyvm $VM --audiocontroller ac97
    VBoxManage modifyvm $VM --lpt2 "0x378" 7
    VBoxManage modifyvm $VM --lpt2 off
    VBoxManage modifyvm $VM --mouse usbtablet
    VBoxManage modifyvm $VM --usb on
    #VBoxManage modifyvm $VM --nic1 bridged --bridgeadapter1 ens160
    #
    VBoxManage setextradata $VM "GUI/RestrictedRuntimeDevicesMenuActions" "HardDrives"
    VBoxManage setextradata $VM "GUI/RestrictedRuntimeMachineMenuActions" "SaveState,PowerOff"
    VBoxManage setextradata $VM "GUI/StatusBar/IndicatorOrder" "HardDisks,OpticalDisks,FloppyDisks,Network,USB,SharedFolders,Display,VideoCapture,Features,Mouse,Keyboard"
    #
    #ポート転送の設定 ホストの23389をゲストの3389へ。リモートデスクトップ. 
    VBoxManage modifyvm $VM --natpf1 delete "guestrdp"
    VBoxManage modifyvm $VM --natpf1 "guestrdp,tcp,,23389,,3389"
    
  4. ホスト機からSLIC.BINの生成とVirtualBoxへの設定

    # VMの確認
    VBoxManage list vms
    #
    VM='VM_Win7'
    cd ~/VirtualBox\ VMs/${VM}
    # SLIC.BINのダンプ
    sudo cat /sys/firmware/acpi/tables/SLIC > SLIC.BIN
    # 
    VBoxManage setextradata "${VM}" VBoxInternal/Devices/acpi/0/Config/SLICTable SLIC.BIN
    
    --- **以降未確認** ---
  5. ゲストにWindows7をインストール。ライセンスキーのとこは、スキップ。

  6. cmd.exeを管理者で開く

  7. ライセンスキー

    rem Windowsのキー
    slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
    rem ダイアログウィンドウ出るまで待つ
    slmgr.vbs /ilc oem.xrm-ms
    rem ダイアログウィンドウ出るまで待つ
    rem 確認
    slmgr.vbs /dlv   
    

その他

  • ノートPC本体のHDDに入ってるのから、DVDを作るとかいうのだったとおもうんだけど、さくと消してしまった.ような...。
    ので、検証は、うまいPCが発掘できたら...