web-dev-qa-db-ja.com

Windows Server2008のOEMブランドのメディアをKVM

問題

Windows Server2008のOEMコピーが付属しているHPサーバーがあります。ハードウェアにCentOS5.4をインストールし、Windows Server2008をKVMゲストとしてインストールしようとしています。 Windows Server 2008をインストールすると、サポートされていないハードウェアにインストールしようとしているというメッセージが表示されます。この問題は、ハードウェアのSMBIOS情報がKVMゲストに渡されていないために発生します。

背景

先に進む前に、私がやろうとしていることはライセンスの範囲内であることを述べたいと思います。 HPはVMWareでサポートされているソリューションを提供していますが、KVMの公式ソリューションはありません。多くの調査の結果、私が使用するプラットフォームはCentOSとKVMなので、他のプラットフォームを提案しないでください。

KVM開発者メーリングリストに電子メールを送信しましたが、これは可能であると言われ、次のようなアドバイスがありました。

「ホストBIOSのSLICテーブルをダンプし、-acpitableパラメーターを使用してゲストBIOSに提供できます。」

Dmidecodeを使用して、渡す必要のあるパラメーターを取得しましたが、パラメーターをどこに渡すかわかりません。

更新

CentOS5.4はqemuの代わりにvirt-installを使用しているようです。 Qemuはパッケージマネージャーにあり、qemu-imgをアンインストールした後にインストールできました(競合し、qemuにはqemu-imgのパッケージが含まれています)。これで、acpitableパラメーターを渡す方法がわかりましたが、dmidecodeから出てきたものを-acpitableにマッピングするのに問題があります。

5
0
dyasny

古いトピックを掘り下げて申し訳ありませんが、これが可能であることがわかりました:

ブランドメディアの問題は、KVMのBIOS VMには異なるACPIテーブルが付属しています。一方、インストーラーはそれを検証します。これを書いている時点では、virtlib1.2.9とDebian8を使用しています。 qemu-system-x86 1.7.0(qemu-kvm)。

したがって、それを実行するには、VM)でACPI(dmidecode -t 0およびdmidecode -t 1)テーブルを一致させる必要があります。

Lenovoのこれらのテーブルは次のようになります。

# dmidecode 2.12
SMBIOS 2.8 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: LENOVO
        Version: FBKTB4AUS
        Release Date: 07/01/2015
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 6656 kB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                BIOS ROM is socketed
                EDD is supported
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.180
        Firmware Revision: 1.13

# dmidecode 2.12
SMBIOS 2.8 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 30AH001GPB
        Version: ThinkStation P300
        Serial Number: S4M88119
        UUID: CECF333D-6603-E511-97D5-6C0B843F98BA
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_30AH
        Family: To be filled by O.E.M.

HPの場合:

# dmidecode 2.11                                                                                                                                                                   
SMBIOS 2.7 present.                                                                                                                                                                

Handle 0x0000, DMI type 0, 24 bytes                                                                                                                                                
BIOS Information                                                                                                                                                                   
        Vendor: HP
        Version: W07
        Release Date: 05/05/2011
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 8192 kB
        Characteristics:
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                ESCD support is available
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Function key-initiated network boot is supported
                Targeted content distribution is supported
        Firmware Revision: 2.23

# dmidecode 2.11
SMBIOS 2.7 present.

Handle 0x0100, DMI type 1, 27 bytes
System Information
        Manufacturer: HP
        Product Name: ProLiant ML330 G6
        Version: Not Specified
        Serial Number: CZ104601XF      
        UUID: 30303734-3536-5A43-3130-343630315846
        Wake-up Type: Power Switch
        SKU Number: 470065-183      
        Family: ProLiant

IBMの場合:

# dmidecode 2.12
# SMBIOS entry point at 0x7f6be000
SMBIOS 2.5 present.

Handle 0x002F, DMI type 0, 24 bytes
BIOS Information
        Vendor: IBM Corp.
        Version: -[D6E154AUS-1.13]-
        Release Date: 09/23/2011
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 4096 kB
        Characteristics:
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                3.5"/2.88 MB floppy services are supported (int 13h)                                                                                                               
                Print screen service is supported (int 5h)                                                                                                                         
                8042 keyboard services are supported (int 9h)                                                                                                                      
                Serial services are supported (int 14h)                                                                                                                            
                CGA/mono video services are supported (int 10h)                                                                                                                    
                ACPI is supported                                                                                                                                                  
                USB legacy is supported                                                                                                                                            
                LS-120 boot is supported                                                                                                                                           
                ATAPI Zip drive boot is supported                                                                                                                                  
                Function key-initiated network boot is supported                                                                                                                   
                Targeted content distribution is supported                                                                                                                         
        BIOS Revision: 0.0                                                                                                                                                         
        Firmware Revision: 0.0                                                                                                                                                     

# dmidecode 2.12                                                                                                                                                                   
# SMBIOS entry point at 0x7f6be000                                                                                                                                                 
SMBIOS 2.5 present.                                                                                                                                                                

Handle 0x0030, DMI type 1, 27 bytes                                                                                                                                                
System Information                                                                                                                                                                 
        Manufacturer: IBM                                                                                                                                                          
        Product Name: System x3650 M3 -[7945J4G]-                                                                                                                                  
        Version: 00                                                                                                                                                                
        Serial Number: KD50NCR                                                                                                                                                     
        UUID: 49B2EFEE-5E45-3522-8FE3-C230FF137F25                                                                                                                                 
        Wake-up Type: Other
        SKU Number: XxXxXxX
        Family: System x

LenovoのWindows2012FundationブランドのメディアをLenovoハードウェアにインストールする必要がありました。

Qemuパラメーターメーターに追加することでそれを達成しました:

-smbios type=1,manufacturer=LENOVO,product=30AH001GPB,version=ThinkStation P300,serial=S4M88119,uuid=cecf333d-6603-e511-97d5-6c0b843f98ba,sku=LENOVO_MT_30AH,family=P300 -acpitable file=/var/lib/libvirt/images/slic.bin -acpitable file=/var/lib/libvirt/images/msdm.bin

または、libvirtdのVM xmlファイルに追加することによって:

<domain type='kvm' id='18' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
#                           ^^^ be aware of XML's namespace for the prefixes ^^^
#                               without it qemu:arg tag won't work
...
  <qemu:commandline>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=0,vendor=LENOVO,version=FBKTB4AUS,date=07/01/2015,release=1.180'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=1,manufacturer=LENOVO,product=30AH001GPB,version=ThinkStation P300,serial=S4M88119,uuid=cecf333d-6603-e511-97d5-6c0b843f98ba,sku=LENOVO_MT_30AH,family=P300'/>
    <qemu:arg value='-acpitable'/>
    <qemu:arg value='file=/var/lib/libvirt/images/slic.bin'/>
    <qemu:arg value='-acpitable'/>
    <qemu:arg value='file=/var/lib/libvirt/images/msdm.bin'/>
  </qemu:commandline>
</domain>

よりエレガントな方法もありますが、残念ながら私のlibvirtはACPIテーブルをVMに渡したくありませんでした。

<os>
....
<sysinfo type='smbios'>
 <bios>
  <entry name='vendor'>LENOVO</entry>
 </bios>
 <system>
  <entry name='manufacturer'>HP</entry>
  <entry name='product'>30AH001GPB</entry>
  <entry name='serial'>S4M88119</entry>
  <entry name='sku'>LENOVO_MT_30AH</entry>
 </system>
</sysinfo>
</os>

ACPIテーブルのダンプを作成するにはどうすればよいですか?単に:

root@node0:/sys/firmware/acpi/tables# ls -l
total 0
-r-------- 1 root root    146 Sep 23 13:44 APIC
-r-------- 1 root root    165 Sep 23 13:44 ASF!
-r-------- 1 root root     56 Sep 23 13:44 BGRT
-r-------- 1 root root     52 Sep 23 13:44 DBGP
-r-------- 1 root root    184 Sep 23 13:44 DMAR
-r-------- 1 root root  96238 Sep 23 13:44 DSDT
drwxr-xr-x 2 root root      0 Sep 23 13:44 dynamic
-r-------- 1 root root    268 Sep 23 13:44 FACP
-r-------- 1 root root     64 Sep 23 13:44 FACS
-r-------- 1 root root    156 Sep 23 13:44 FIDT
-r-------- 1 root root     68 Sep 23 13:44 FPDT
-r-------- 1 root root     56 Sep 23 13:44 HPET
-r-------- 1 root root 207330 Sep 23 13:44 LUFT
-r-------- 1 root root     60 Sep 23 13:44 MCFG
-r-------- 1 root root     85 Sep 23 13:44 MSDM
-r-------- 1 root root    374 Sep 23 13:44 SLIC
-r-------- 1 root root   1337 Sep 23 13:44 SSDT1
-r-------- 1 root root   2776 Sep 23 13:44 SSDT2
-r-------- 1 root root    877 Sep 23 13:44 SSDT3
-r-------- 1 root root  13608 Sep 23 13:44 SSDT4
root@node0:/sys/firmware/acpi/tables# cat SLIC > /var/lib/libvirt/images/slic.bin 

これは、Windows2008/2012ブランドのメディアで機能します。これらの引数が正しく渡されているかどうかを確認することは非常に重要です。VMのログインを確認してください:/var/log/libvirt/vm_name.log。 sysresccdなどのVMでライブディストリビューションを実行し、ハードウェアバージョンと一致する必要があるdmidecode -t 0; dmidecode -t 1の出力を確認します。

教授として(Windows 2012 Foundation AFAIKはブランド化されているだけです): Windows 2012 Foundation in Qemu-KVM

11

マザーボードからSLICテーブルを抽出し、次を使用して独自のseabiosをロールします。 https://github.com/ghuntley/seaslic

3

残念ながら、Windowsで署名されたドライバーに関する回答は、OEM/SLPのアクティブ化を反映していません。これらのドライバーはパフォーマンスを向上させる可能性がありますが、Windows OEM/SLPのアクティブ化には、BIOSに保存されているデータ、特にACPIテーブルが厳密に含まれます。

Michael Tokarevは、SLICテーブルをテーブル全体の形式に含めるようにソースを変更することでこれを自分で行うことができましたが、-acpitable( http://kerneltrap.org/ mailarchive/linux-kvm/2010/3/24/626006 )。彼がソースに加えた変更により、コマンドラインにさまざまな側面を含めるためにいくつかの引数を渡す代わりに、ACPIテーブル全体を含めることができました。

私は今、これを自分で調べています。オフィスのいくつかのセットアップでテスト目的でこれを実装したいからです。 OEMマシンはたくさんあり、各マシンに正常にインストールできますが、仮想化はテストと非常に迅速な展開に多くのメリットをもたらすので、これを確認したいと思います。

この投稿のOP、rancidfishbreath、彼がdmidecodeから抽出したもの、kvmに与えたオプションでこれをどのようにフォーマットしたかなどを教えてください。開発者から与えられた入力を追加していただければ幸いです。

1
user39668

チェック http://jamar.org/2012/09/28/installing-windows-2008-hp-oem-as-kvm-guest/

dmidecodeを使用してダンプできるゲストxmlconfファイル(/ etc/libvirt/qemu)にsmbios情報を提供します

詳細情報: http://libvirt.org/formatdomain.html#elementsSysinfo

それは私のwin2k12を実行します

0
Darek