Virtualbox fail to bootup guest from GPT physical partition - virtualbox

Virtualbox fail to bootup guest from GPT physical partition, it stop at a black screen with a cursor(doesn't blink) at the left top corner. Virtualbox version is 5.0.10 x64.
PhysicalDrive0 is a GPT drive, Here is partition information:
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe internalcommands listpartitions -rawdisk \\.\PhysicalDrive0
Number Type StartCHS EndCHS Size (MiB) Start (Sect)
1 0x00 0 /0 /0 0 /0 /0 100 2048
2 0x00 0 /0 /0 0 /0 /0 128 206848
3 0x00 0 /0 /0 0 /0 /0 409372 468992
4 0x00 0 /0 /0 0 /0 /0 409600 838862848
5 0x00 0 /0 /0 0 /0 /0 409600 1677723648
6 0x00 0 /0 /0 0 /0 /0 662640 2516584448
7 0x00 0 /0 /0 0 /0 /0 16288 3873671168
Partition #3: Win7 sp1 x64, the Host
Partition #6: Ubuntu14.04.3 x64, the Guest
Partition #7: swap
Dual boot via BIOS works fine.
Firstly, boot up computer with Ubuntu14.04.3 via BIOS, run below commands to create .mbr file:
sudo grub-install /dev/sdb
sudo dd if=/dev/sdb of=~/my.mbr
/dev/sdb is a USB flash, and after these commands, I can bootup the Ubuntu14.04.3 via this USB falsh.
Then boot up computer with Win7, run below commands to create vmdk file, in a DOS prompt, with administrators persmission:
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe internalcommands createrawvmdk
-filename e:\VirtualBox\a.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 6,7 -mbr
e:\VirtualBox\my.mbr
RAW host disk access VMDK file e:\VirtualBox\a.vmdk created successfully
Launch Virtualbox with administrators permission, create a virtual machine, Ubuntu 64-bit, 4G ram, use existing a.vmdk . Start the virtual machine, it stop at a black screen with a cursor(doesn't blink) at the left top corner.
I did a lot of search, but didn't get a solution. Anybody here could help me this ?

Finally, I managed to accomplish this, though there are still some questions I am not able to explain. I would like to record it here for people who get the same problem, and so I can remember in the future.
When creating the vmdk file, the -mbr parameter is not necessary, but be
sure NOT to include the partition in which the host OS resides, that
is, including whole physical drive in vmdk will fail. My final
command line (with host partition #3 excluded) was:
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe internalcommands createrawvmdk -filename e:\VirtualBox\Ubuntu.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 1,2,4,5,6,7
After creating the guest machine (as described in the question), go
to guest Settings, System, MotherBoard, Extended Features, be sure
to keep "Enable EFI (special OSes only)" checked.
Start the guest, and quickly press Del to enter the
guest's VirtualBox BIOS before it shows the Windows boot menu. If
you failed to do so and got to the Windows boot menu, forcibly turn
the power off to the guest and start again.
In BIOS, go to Boot Maintenance Manager, Boot Options, Change Boot
Order. Move EFI Internal Shell to the first option, Commit Changes
and Exit. Press Reset System menu item in Boot Maintenance Manager
screen. There are instructions on how to change the boot order at the
bottom of the BIOS screen.
When the guest reboots again, it will enter EFI shell (instead of
Windows boot menu). Now you need to work out which partition is the
EFI bootloader. Upon entering the shell it prints out the partiions
and their alises, but it didn't seem to print them all out for me.
Once you've worked out which is your EFI bootloader, run:
BLK2:\EFI\ubuntu\grubx64.efi
It will return an error if it's not the EFI bootloader.
Now the GRUB boot menu displays and we can launch Ubuntu.
Sometimes I find the guest remains on an empty Ubuntu screen, sometimes VirtualBox displays an error. I keep restarting the guest until it works. You may also have to restart from step 3 as it seems your BIOS settings are lost.
Hope this help you somewhat. I would like to clarify that I only tested this under:
* VirtualBox 5.0.10 x64
* host OS: Win7 sp1 x64
* guest OS: Ubuntu 14.04.3 x64
* with specific disk partitions as described.
Be very careful as this operates directly on the physical drive. Your data is your responsibility.

Related

Install VB Guest Additions before booting Ububtu-based OS

I'm trying to install Elementary OS in VirtualBox, but the minimum resolution of the OS is 1024x768 and VirtualBox always boots in a much lower resolution. I can't install Guest Additions until the OS has been fully installed and I am on the desktop. I can't go through with the installation, though, because I only see about 60% of the screen in the top left corner. I've tried increasing video resolution to 128mb, but as I thought, that didn't work. Is there a way to increase the resolution with Guest Additions or something else before booting the system to install it?
I had an issue with the installation of Elementary OS 6 with VirtualBox for the same reason. The right side and bottom portion of the installer screens were cutoff. That area of the screen has buttons for back, submit, cancel.
I resolved this by making to selection to erase/complete install, then using the tab key twice followed by the enter key. Apparently this sequence of keystrokes allowed me to initiate the full installation script successfully.
same issue here,
end up add boot kernel parameter to fix this,
when first boot prompt(5 secs),
hit any key within the 5 secs count down to show boot options,
hit TAB to edit first option,
add the vga=ask to the end of boot kernel lines.
then it will show another 30 secs count down for VGA mode selection,
hit ENTER to choose proper one, in my case I choose 1280x800x32.
that's all,
more detail regarding boot vga parameters can refer to this URL.
https://linuxhint.com/set_screen_resolution_linux_kernel_boot/

Run Turbo C++ in Freedos

I want to run Turbo C++ in FreeDos. I used to run it in DosBox but now I decided to test the FreeDos in my desktop PC.
But every time I try run it the cursor blinks and nothing happens (after I enter the command and press enter) , the prompt does not return( C:> ) and I have to restart my system by pressing the power button. My question is:
How can I actually run it? Does it require extra drivers or files?
If it cannot be run, Do you any other C++ IDE? Maybe your own IDE?
P.S. I have installed FreeDos using the freedos option of Rufus.
FreeDOS is not MS-DOS so incompatibilities are to be expected. However I did not come into contact with FreeDOS but here are some hints (from MS-DOS so they should more or less apply to FreeDOS as well).
Without himem.sys you have no high memory
so you got just 640 KByte instead of 1 MByte for everything. That is not much as some programs requires even 540 KByte...
without Emm386.exe or QEMM386 you got no XMS memory
If my memory serves well than also the DPMI drivers will not work which turbo needs.
without proper autoexec.bat and config sys nothing works
you do not have paths, device drivers (mouse,CDROM,etc.), and sets (like sound card). If you do not know what to put in them copy them from DOSBOX (minus the DOSBOX mount lines). No paths usually also means no command.com so you got no shell so no commands would work
what file system you use?
I would not go beond FAT16 for older DOS. Use FAT32 only for newer MS-DOS versions (from win98). Do not use NTFS or EXT even if you got drivers those caused problems all the time...
Computer speed
many DOS programs where based on Borlands CRT library. That caused a lot of problems later on as computers speed-up. If I remember correctly there was this runtime error 200 caused by it. To remedy such programs you can do 2 things. Patch or recompile the CRT lib in them (there are some fixes out there) or go to BIOS and turn off CPU CACHEs (L1,L2..). That will turn your modern computer into really fast 386 That should still pass the CRT init. Otherwise the timing is off and programs crash/hangs etc ... The DOSBOX emulator is designed to run programs at the original speeds instead of as fast as possible speed, so no further adjustment should be necessary if using that.
Memory
The old DOS can not handle more than 64 MByte and some programs have problems even with that. The safest way is to limit the available memory to 32 MByte. I usually did it using RAMDISC and or SMARTDRIVE buffers so only 32 MByte of memory is left for the DOS programs. (You can use the mem command to see what is your status if you see negative numbers you are crossing barriers and need to increase usage of SMARTDRIVE or RAMDISK).
Do not forget to save the SMARTDRIVE buffers time to time and before exit to avoid loss of data if reset or crash/hang/freeze occur... It is a good idea to use Volcov commander (or Norton commander) with predefined menu for such operations. You can even associate file extentions with viewers editors and IDEs with it. So if you execute asm or cpp it got compiled or opened in your prefered IDE end so on...
Here example of autoexec.bat and config.sys (taken from my ancient MS-DOS rescue disc):
Autoexec.bat
#echo off
PROMPT $P$G
PATH e:\rescue;e:\rescue\dos98;e:\rescue\vcnew;e:\rescue\pack;e:\rescue\views
e:
cd rescue
SET TEMP=e:\rescue\temp
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
SET SOUND=e:\rescue\SB16
SET MIDI=SYNTH:1 MAP:E MODE:0
e:\rescue\SB16\DIAGNOSE /S
e:\rescue\SB16\AWEUTIL /S
e:\rescue\SB16\MIXERSET /P /Q
goto %config%
:a
:b
:c
:d
:e
lh gmouse
LH vc
Config.sys
;devicehigh=e:\rescue\dos98\interlnk.exe
shell e:\rescue\dos98\command.com e:\rescue\dos98 /P
lastdrive=M
files=50
buffers=8
stacks=0,0
DOS=HIGH,UMB
[menu]
menuitem=a,QEMM
menuitem=b,EMM EMS
menuitem=c,EMM NOEMS
menuitem=d,STANDART
menuitem=e,RAMDISK 32MB
menudefault=d,1
[a]
device=e:\rescue\dos98\qemm386.sys RAM BE:N
[b]
device=e:\rescue\dos98\himem.sys
devicehigh=e:\rescue\dos98\emm386.exe rammax
[c]
device=e:\rescue\dos98\himem.sys
devicehigh=e:\rescue\dos98\emm386.exe noems
[d]
device=e:\rescue\dos98\himem.sys
[e]
device=e:\rescue\dos98\himem.sys
devicehigh=e:\rescue\dos98\ramdrive.sys 32767 /e
It has boot menu where you can select what configuration you want. Just change the drive letters and paths. Beware :a,:b,... and [a],[b],... are not drive letters those are menu entries.
shell is the command.com location. the gmouse is mouse driver (not part of DOS you need to download it), vc is Volcov commander filemanager (you do not really need it and also it is not part of DOS but having it really is a good idea.) You can ignore the SB16 and sound blaster settings as it is high unlikely you got the same sound card or even fully SB compatible without any emulation/driver present.
e:\rescue\dos98\ is location of my MS-DOS commands so replace it with your location.
The cd command changes directory, and lh loads into high memory instead of base memory to preserve Base memory.
How ever if I where you to avoid compatibility problems I would try to obtain MS-DOS 6.22.
So my bet is you got any combination of all the issues mentioned rendering your OS inoperable.

VirtualBox Windows 10 64 Bit Host - The VM session was aborted

I'm trying to make a Win 7 64 bit guest machine. When it's time to load the ISO, I try to load it and I get the following error
The VM session was aborted.
Result Code: E_FAIL (0x80004005)
Component: SessionMachine
Interface: ISession {7844aa05-b02e-4cdd-a04f-ade4a762e6b7}
What's a fix for this? Thank you.
I have the same issue, and hopefully there will be a bug-fix for it soon.
In the meantime, I have managed to start the install process (in my case for Linux mint 17.2 rather than windows) by attaching the .iso image in the VirtualBox IDE Storage Settings page rather than the "mount" dialog that causes the error.
Open the settings for your VM in the VirtualBox UI, go to Storage, click on the "empty" entry in the list of IDE Controllers, and select the disk icon over to the right of the screen. Finally, select to "Choose Virtual Optical Disk File", and select your .iso of choice. Then start the VM and it should boot just fine.
I hope it helps for your case too!
update the extension pack was my solution
Maybe it will help.
I turned off sound card , and at virtual machine I had "audio" controller turned on.
When I turned off audio controler virtual machine start normaly.
BR Simon
Backed up the last saved snapshot from C:\Users\\VirtualBox VMs\Ubuntu\Snapshots
Go to Machine> Ignore last saved state.
Restart VM.
This worked.
This issue most likely happened for me because my Windows 10 randomly restarted a couple of time, with BSOD.
Error code
Result Code: E_FAIL (0x80004005)
Component: SessionMachine
Interface: ISession {7844aa05-b02e-4cdd-a04f-ade4a762e6b7}
Menu -> Machine -> Reset all warnings
worked for me
Menu -> Machine -> Discard Saved State...
This worked.
start your virtual machine
start ubuntu
open settings in ubuntu and go to display
set resolution to 16:9
and you are done

Migrating from VMWARE to VirtualBox [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I'm trying to migrate an existing VM from VMWARE to VirtualBox. I've made a copy of the Virtual Machine folder for the VM (so I can experiment and not destroy the original) and have successfully created a VM in VirtualBox. I've got everything booting and running, but the issue is that VM is using the "flat" disk image instead of the correct disk image causing the disk image to be from the past (I know this because all the files on the machine have a timestamp of 2009).
To elaborate, in the VM's folder i have the following vmdk files:
Win2003.vmdk (1 K)
Win2003-flat.vmdk (15 gigs)
Win2003-000002.vmdk (10 gigs)
NOTE: the disk is dynamic.
Looking in the configuration of the VM under VMWARE, it says that it's using the win2003-000002.vmdk as the disk image.
When I import the disk image into VirtualBox (the Win2003.vmdk file), it uses the Win2003-flat.vmdk disk image.
My question is, what can I do to either combine or import the Win2003-000002.vmdk disk image into the Win2003-flat.vmdk disk image so that VirtualBox will use the correct disk image?
I've some instructions on using vmware-vdiskmanager.exe to accomplish this, but I get an error stating "The parent of this virtual disk could not be opened."
After many attempts I was finally able to get this working. Essentially what I did was download and use the vmware converter to merge the two disks into one. After that I was able to attach the newly created disk to VitrualBox.
The steps involved are very simple:
BEFORE YOU DO ANYTHING!
1) MAKE A BACKUP!!! Even if you follow these instruction, you could screw things up, so make a backup. Just shutdown the VM and then make a copy of the directory where VM resides.
2) Uninstall VMware Tools from the VM that you are going to convert. If for some reason you forget this step, you can still uninstall it after getting everything running under VirtualBox by following these steps. Do yourself the favor and just do it now.
NOW THE FUN PART!!!
1) Download and install the VMware Converter. I used 5.0.1 build-875114, just use the latest.
2) Download and install VirtualBox
3) Fire up VMWare convertor:
4) Click on Convert machine
6) Browse to the .vmx for your VM and click Next.
7) Give the new VM a name and select the location where you want to put it. Click Next
8) Click Next on the Options screen. You shouldn't have to change anything here.
9) Click Finish on the Summary screen to begin the conversion.
10) The conversion should start. This will take a LOOONG time so be patient.
11) Hopefully all went well, if it did, you should see that the conversion is completed:
12) Now open up VirtualBox and click New.
13) Give your VM a name and select what Type and Version it is. Click Next.
14) Select the size of the memory you want to give it. Click Next.
15) For the Hard Drive, click Use and existing hard drive file and select the newly converted .vmdk file.
16) Now Click Settings and select the Storage menu. The issue is that by default VirtualBox will add the drive as an IDE. This won't work and we need as we need to put it on a SCSI controller.
17) Select the IDE controller and the Remove Controller button.
18) Now click the Add Controller button and select Add SCSI Controller
19) Click the Add Hard Disk button.
20) Click Choose existing disk
21) Select your .vmdk file. Click OK
22) Select the System menu.
23) Click Enable IO APIC. Then click OK
24) Congrats!!! Your VM is now confgiured! Click Start to startup the VM!
I will suggest something totally different, we used it at work for many years ago on real computers and it worked perfect.
Boot both old and new machine on linux rescue Cd.
read the disk from one, and write it down to the other one, block by block, effectively copying the dist over the network.
You have to play around a little bit with the command line, but it worked so well that both machine complained about IP-conflict when they both booted :-) :-)
cat /dev/sda | ssh user#othermachine cat - > /dev/sda
QEMU has a fantastic utility called qmeu-img that will translate between all manner of disk image formats. An article on this process is at http://thedarkmaster.wordpress.com/2007/03/12/vmware-virtual-machine-to-virtual-box-conversion-how-to/
I recall in my head that I used qemu-img to roll multiple VMDKs into one, but I don't have that computer with me to retest the process. Even if I'm wrong, the article above includes a section that describes how to convert them with your VMWare tools.
Note: I am not sure this will be of any help to you, but you never know.
I found this link:http://www.ubuntugeek.com/howto-convert-vmware-image-to-virtualbox-image.html
ENJOY :-)
This error occurs because VMware has a bug that uses the absolute path of the disk file in certain situations.
If you look at the top of that small *.vmdk file you'll likely see an incorrect absolute path to the original VMDK file that needs to be corrected.

Increasing shared memory on OSX to properly install PostgreSQL

This is my first stackoverflow post. I am trying to set up PostgreSQL to use with Django. Very new to all of this (took one course in Python in college, now trying to teach myself a little web development).
The installation guide for PostgreSQL says:
"Before running the installation, please ensure that your system is
configured to allow the use of larger amounts of shared memory. Note that
this does not 'reserve' any memory so it is safe to configure much higher
values than you might initially need. You can do this by editting the
file /etc/sysctl.conf - e.g.
% sudo vi /etc/sysctl.conf
On a MacBook Pro with 2GB of RAM, the author's sysctl.conf contains:
kern.sysv.shmmax=1610612736
kern.sysv.shmall=393216
kern.sysv.shmmin=1
kern.sysv.shmmni=32
kern.sysv.shmseg=8
kern.maxprocperuid=512
kern.maxproc=2048
Note that (kern.sysv.shmall * 4096) should be greater than or equal to
kern.sysv.shmmax. kern.sysv.shmmax must also be a multiple of 4096.
Once you have edited (or created) the file, reboot before continuing with
the installation. If you wish to check the settings currently being used by
the kernel, you can use the sysctl utility:
% sysctl -a
The database server can now be installed."
I am running a fresh-out-of-the-box MBA with 4GB of ram. How to I set this up properly? Thanks in advance.
Just download the installer and click "ok" to get started. When everything is running, you can always increase memory settings and edit postgresql.conf to get better performance.