概要
- 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で作業
- Windowsで起動
-
C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform\tokens.dat
どこかにコピー. -
tokens.dat
のなかから、一部をきりぬいて、oem.xrm-ms
というファイルを作る。
バイナリエディタで、-
OEM Certificate
を後方検索 -
<?xml version=
を前方検索 (前に戻って) - そこから、
</r:license>
の終わりまで切り抜く
-
Linuxで
-
Lubuntu インストール
http://cdimage.ubuntu.com/lubuntu/releases/16.04/release/- 更新・再起動 :
sudo apt-get update; sudo apt-get dist-upgrade; sudo reboot
- 更新・再起動 :
-
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. コマンドラインで.
```bash: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"
-
ホスト機から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
<del> <font color='red'>--- **以降未確認** ---</font></del>
5. ゲストにWindows7をインストール。ライセンスキーのとこは、スキップ。
6. `cmd.exe`を管理者で開く
7. ライセンスキー
```bat
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が発掘できたら...