The Cube - Assimilating Technology

The Cube

Asus windows 7 recocery cd to virtualbox

For Humans only


Print E-mail

I recently bought a new laptop : Asus N61Jq.

note: the procedure did not work a second time. the install proceeded to the end, but then windows had some error. i believe it has to do with the recovery partition being non accessable or wiped. can't recall. i don't have the time or inclanation to try this again, as i just plainly don't use windows at all.

The laptop came with WIndows 7 Home premium installed, which I naturally removed, in favour of linux, but I do need access to windows, so I want to run that windows in virtualbox.

So I created the required 'rescue disks' before I wiped windows, only to discover later that I cannot install them into virtualbox. The cd says it is not for 'this system'

This just won't do, so I googled a bit and found an article on how to adjust virtualbox bios to make the cd work. The original was for a vista cd, but the concept is the same. Not adjusting the cd, adjusting the virtualbox bios

Here are my steps:

 $ sudo dmidecode -t1

# dmidecode 2.9
SMBIOS 2.6 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: American Megatrends Inc.
Version: N61Jq.204
Release Date: 01/05/2010
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 2048 kB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
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
Smart battery is supported
BIOS boot specification is supported
Targeted content distribution is supported
BIOS Revision: 4.6
 $ sudo dmidecode -t1

# dmidecode 2.9
SMBIOS 2.6 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: ASUSTeK Computer Inc.       
Product Name: N61Jq
Version: 1.0      
Serial Number: A1N0AS20163603     
UUID: 00F38067-EAFE-DE81-3BBB-E0CB4E601DD7
Wake-up Type: Power Switch
SKU Number:                      
Family:


Now I have all the information I need, so the script to adjust the virtualbox machine

Create a new blank virtualbox machine. Save and boot it once.

(make sure the machine name does not contain any spaces)

#!/bin/sh
#  Create a variable that contains the name of the
#  VirtualMachine, as it was specified within the
#  VirtualBox software.
VMNAME="Windows7"

#  Create a variable that contains the basic command
#  that we need to perform to update the values. We 
#  create a variable for the command because we will
#  be using a series of almost identical commands and
#  it is convenient to put the common parts into a  
#  variable so that if we need to change the commands
#  later, we need only to change this one variable.
VBMCMD="VBoxManage setextradata $VMNAME "

#  Perform a sequence of commands. Each command will
#  set a single parameter for the VirtualMachine

#echo BIOS Vendor
# $VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor'        'American Megatrends Inc.'
#  For reasons unknown it appears to be impossible to  
#  put spaces into the value text. If spaces are present
#  the VBoxManage command complains about excess parameters.
#  So the following command is used as a fudge until we have
#  a better solution.
$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor'        'American Megatrends Inc.'

#echo BIOS version
$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVersion'       'string:N61Jq.204'

echo BIOS release date
$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseDate'   'string:01/05/2010'

#echo BIOS release major
$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMajor'  '4'

#echo BIOS release minor
$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMinor'  '6'

#echo BIOS firmware major
#$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMajor' '152'

#echo BIOS firmware minor
#$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMajor' '152'

#echo BIOS firmware minor
#$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMinor' '152'

echo System vendor
#$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor'      "string:ASUSTeK Computer Inc."
#  For reasons unknown it appears to be impossible to
#  put spaces into the value text. If spaces are present
#  the VBoxManage command complains about excess parameters.
#  So the following command is used as a fudge until we have
#  a better solution.
$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor'      'ASUSTeK Computer Inc.'

#echo System product
$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiSystemProduct'     'N61Jq'

#echo System version
$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiSystemVersion'     '1.0'

$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial'      '###############'
$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiSystemUuid'        '###############'
#$VBMCMD  'VBoxInternal/Devices/pcbios/0/Config/DmiSystemFamily'      'To Be Filled By O.E.M.'

Save the above to a file, make it executable, and run it.

Now insert your recovery cd, and start the virtual machine. I had to 'reset' twice to get the disk to boot.

 

 

 
Share on facebook