Sunday, January 15, 2017

Install Windows 7 on Macbook Pro via VirtualBox

According to this http://apple.stackexchange.com/questions/179486/boot-camp-install-of-windows-7-issue-no-bootable-devices, I got some errors in some steps and I have noted the solutions as followings:

WARNING: If using macOS Sierra, disable System Integrity Protection first before starting or the intalled Windows won't boot and need to start all over again. This also is noted in Step 12 under the Solved Issues section below.

Solved Issues

Step 12

Error1:
This error "...Operation not permitted" happens in macOS Sierra, not in Mavericks.

Solution1:
Disable System Integrity Protection by booting into Recovery mode (hold Command+R when starting machine or using macOS installation USB) then run this command: csrutil disable

Step 16

Error 1:
UUID {7eaf241b-6f17-d346-b45c-1bb31ac14076} of the medium '/Volumes/Macintosh HD/Users/vathanakmao/.ievms/vhd/IE9/Windows 7.vhd' does not match the value {d525cf2e-f15c-453c-b5c2-4984d70fed28} stored in the media registry ('/Volumes/Macintosh HD/Users/vathanakmao/Library/VirtualBox/VirtualBox.xml')

Solution 1:
I removed the bcssoftware.vmdk and created it again.

Step 25

Error1:
I couldn't see "Untitled Windows" in the dialog box.

Solution 1:
I just simply restarted my machine and hold option key and then the Boot Camp partition appeared and I could boot from it and setup Windows.



Here are details I copied from the site:


My computer is an iMac (20-inch Mid 2007). The version of OS X is 10.10.5. I will be installing Windows 7 Professional SP1 64 Bit. I have only one internal drive. It is a 1 TB hard disk using the Apple hybrid GUID partitioning scheme. Hybrid means Windows will see the drive as MBR partitioned, while OS X views the drive as GUID partitioned. I will be following Apple's recommendations and installing Window using the legacy BIOS. I also have a working internal optical SuperDrive which is not used to install Windows.
(Hint: For a better view, click on an image or open an image in a new window.)
  1. Aquire the Boot Camp Support Software (the drivers). The software can either be downloaded using the Boot Camp Assistant, downloaded directly from the Web or copied off a OS X installation DVD. See System requirements to install Windows on your Mac via Boot Camp for details. This procedure does not require the use of a flash drive. If your Boot Camp Support Software is stored on a flash drive, then follow the special instructions given in certain step that follow.
  2. Make sure your firmware is up to date. See EFI and SMC firmware updates for Intel-based Macs.
  3. Download and install a free copy of VirtualBox from Oracle. I used VirtualBox, Version 5.0.0 r101573, Copyright © 2015.
  4. Inside your "Documents" folder, create a folder named "VirtualBox". This is where you will keep the files created in the rest of the steps.
  5. Create a MS-DOS (FAT) formatted partition to install Windows. You can use the Bootcamp Assistant, the Disk Utility, or commands (distutilgpt and/or fdisk) entered in a Terminal window. Other third party tools, such as gdisk, can also be used. Give the label for this partition the name "BOOTCAMP".
  6. Determine the disk and partition numbers of the partition named "BOOTCAMP". To do this, highlight the partition in the Disk Utility application and click the "Info" button. A popup window should appear. The values shown will be used in the next step.
    The information, in this pop up window, shows the disk and partition numbers are 0 and 4, respectively. If your numbers are different, you will need to substitute your numbers in the rest of the steps. If your partition number is greater than 4, then you can not install Windows on this partition. (Technically, this may not be true, but it is beyond the scope of this answer to explain how to do so.)
    Do not close the popup window.
  7. Open the Terminal application and enter the following commands in the Terminal window. This will set variables to be used in later commands. In the next command, replace α with the "Disk Number" shown in the Disk Utility popup window. The usual value for α is 0.
    DISK0=/dev/diskα
    
    In the next command, replace β with the "Partition Number" shown in the Disk Utility popup window. The usual value for β is 4.
    PARTITION=β
    
    The next command sets the variable PARTID to the disk identifier of the partition. This should be the same as the "Disk Identifier" shown in the Disk Utility popup window. The usual value for PARTID is disk0s4.
    PARTID="$DISK0"s"$PARTITION"
    
    Note: the letter s is lower case.
    Close the Disk Utility popup window.
  8. With the Disk Utility application still open, select "File→New→Blank Disk Image..." from the menu bar. In the popup window, enter the values shown below. Note: "Where:" should be the "VirtualBox" folder created in Step 4. If the Boot Camp Support Software is stored on a flash drive, you can use the default "Size:" of "100 MB".
    Save As: bcssoftware
    Tags:
    Where: VirtualBox
    Name: BCSSOFTWARE
    Size: Custom... (1.5 GB)
    Format: MS-DOS (FAT)
    Encryption: none
    Partitions: Single partition - Master Boot Record Partition Map
    Image Format: read/write disk image
    The popup window should appear as shown below.
    Click the "Create" button.
  9. Determine the disk number of the partition named "BCSSOFTWARE". To do this, highlight the partition in the Disk Utility application and click the "Info" button. A popup window should appear. The values shown will be used in the next step.
    The information, in this pop up window, shows the disk number is 1. If your number is different, you will need to substitute your number in the rest of the steps.
    Do not close the popup window.
  10. Using the same Terminal window, enter the following to set the variable DISK1. Replace γwith the "Disk Number" shown in the Disk Utility popup window. The usual value for γ is 1.
    DISK1=/dev/diskγ
    
    Quit the Disk Utility.
  11. Copy the Boot Camp Support Software to to the partition labeled "BCSSOFTWARE". I used the Finder application to do this. You can skip this step, if this software is already stored on a flash drive.
  12. Mark your partition as active in the MBR by entering the following in the same Terminal window. The input for the interactive command fdisk is taken from the variable INPUT. If a password is asked for, enter it.
    INPUT=$(printf  "f  $PARTITION\nw\ny\nq")
    sudo  fdisk  -e  $DISK0  <<<"$INPUT"
    
    Note: To display the value for the variable INPUT, use the command echo "$INPUT".
  13. Allow VirtualBox read/write access to your physical partition by entering the following commands in the same Terminal window. If a password is asked for, enter it.
    diskutil  unmount  $PARTID 
    sudo  chmod  go+rw  $PARTID
    
    This will allow VirtualBox to install Windows on your physical partition. Note: This access will only last until OS X is rebooted.
  14. Create the files that map the virtual partition and disk to the physical partition and disk image. In the same Terminal window, enter the following commands. If a password is asked for, enter it.
    cd  ~/Documents/VirtualBox
    sudo  vboxmanage  internalcommands  createrawvmdk  -filename  "$PWD/bootcamp.vmdk"  -rawdisk  $DISK0  -partitions  $PARTITION
    sudo  chown  $USER  bootcamp*.vmdk
    diskutil unmountDisk $DISK1
    vboxmanage  internalcommands  createrawvmdk  -filename  "$PWD/bcssoftware.vmdk"  -rawdisk  $DISK1
    
  15. Open the VirtualBox application and click on icon above the New label. Enter or select the values shown below, then click the "Continue" button.
    Use the default settings except for the hard drive. Choose the "Use an existing virtual hard drive file" button. Navigate to the VirtualBox folder created in step 4. Open the "bootcamp.vmdk" file. Your window should appear similar to what is shown below.
    Click the "Create" button.
  16. Enter the following command in the same Terminal window.
    diskutil  unmountDisk  $DISK1
    
    Return to the VirtualBox application's "Oracle VM Virtual Manager" window and click on the icon above the "Settings" label. Next, click on the icon above the "Storage" label. Right click on "Controller: SATA" and select "Add Hard Disk". Choose existing disk by opening the file "bcssoftware.vmdk" stored in the folder created in step 4. The attachment "bcssoftware.vmdk" should appear as shown below.
    a16
    It has been reported by other users that the "Use Host I/O Cache" box needs to be checked on if VirtualBox boot fails with error VERR_NOT_SUPPORTED.
  17. Highlight the Empty CD/DVD and select "Choose a virtual CD/DVD file..." to attach your Windows installation iso file. (Hint: Look for the CD/DVD icons)
    a17
    Click OK to close the window. Your "Oracle VM Virtual Manager" window should appear similar to what is shown below.
    a18
  18. Before clicking the icon above the "Start" label to begin installing Windows, enter the following command in the same Terminal window.
    diskutil unmountDisk $DISK1
    
  19. When you reach the window shown below, select "Custom (advanced)".
    In the next window, click on "Drive options (advanced)".
    Select the "BOOTCAMP" partition and click on "Format". The error message shown below will disappear. Click on "Next" to continue installation.
  20. The rest the virtual machine installation will be repeated again after booting Windows on the physical machine. Use the provided answers when the following windows first appear. When asked a second time, you can provide your own answers.
    When the following window first appears, I would enter the Product Key and uncheck the "Automatically active Windows when I'm online" box.
    To be safe, I would not let any updates download or install until after the Boot Camp Support Software (the drivers) is installed. Therefore, I would click on "Ask me later" in the window shown below.
    VirtualBox creates a virtual Public network for your virtual machine. Therefore I would click on "Public network" in the window shown below.
  21. Once the installation has completed on the virtual machine, you need complete the following instructions to make a copy the MBR bootstrap code. From the Start Menu, select "Computer" to open a window containing the hard disk drives and devices with removable storage. Determine the drive letters for the hard disk drive labeled "BCSSOFTWARE" and the CD (optical) drive. The image below shows the drive letters on my computer are D: and G:, respectively. Your drive letters may differ from mine.
    Close the window and open a Command Prompt window run as an administrator. Select "Start Menu→All Programs→Accessories", then right click on "Command Prompt" and select "Run as administrator", as shown in the image below.
    In the Command Prompt window, enter the command shown below. If necessary, substitute your drive letters for G: and D:.
    G:\BOOT\BOOTSECT  /NT60  D:  /MBR
    
    The results of running this command on my computer are shown below.
    Close the Command Prompt window.
  22. Copy the Boot Camp Support Software from the partition labeled "BCSSOFTWARE" to the "C:\Users\Public\Public Documents" folder. I used the Windows Explorer to do this. You can skip this step, if this software is already stored on a flash drive.
  23. You need to prepare Windows to run on your physical Mac. Open the Windows Explorer and navigate to the "C:\Windows\System32\sysprep" folder. Open the "sysprep" application. Select "Enter System Out-of-Box Experience (OOBE)", "Generalize" and "Shutdown" as shown below. Click OK and wait for the virtual machine to shutdown.
  24. Once the virtual machine has shutdown, quit VirtualBox. Enter the following in the same Terminal window. These commands will update the MBR bootstrap code, set the Windows partition identifier to 7 in the MBR and then mount the partition. The input for the interactive command fdisk is taken from the variable INPUT. If a password is asked for, enter it.
    sudo  fdisk  -u  -y  -f  $DISK1  $DISK0
    INPUT=$(printf  "s  $PARTITION\n7\nw\ny\nq")
    sudo  fdisk  -e   $DISK0  <<<"$INPUT"
    diskutil  mount  $PARTID
    
  25. Close all other applications. Open System Preferences and select "Startup Disk". Highlight the "Untitled Windows" icon and click the "Restart" button.
    If something goes wrong, you will need to hold down the "option" key at startup to return to OS X. Hopefully, nothing will go wrong and Windows will start.
  26. When Windows finishing installing, install the Boot Camp Support
    Software (the drivers). This software is either in the "C:\Users\Public\Public Documents" folder, or on a flash drive.

Monday, January 2, 2017

Can't have 3 partitions on Macbook Pro 13'' Late 2011

The MBR for Windows partition was corrupted when I divided the disk into 3 partitions, two for Mac OS and Windows and one for data.

At first, I installed Windows 7 my Macbook Pro 13'' late 2011 and the problem i couldn't fix is the palmrest area was usually very warm; the heat is unbearable if you rest your hands on it for about half an hour or longer. I tried many ways such as installing Windows updates, using MacFan Control application, and setting the maximum processor power to 90%. But, the heat was still unbearable.

After that, I accidentally corrupted the file system on all hard drives when i tried to shrink a partition on Windows so I had to install it again but I installed Windows 8.1 this time. While setting up Windows, i got this error message "Windows cannot be installed on this disk. The selected disk has an MBR partition table. On EFI systems, Windows can only......". It's because disk of MBR style can't have many primary partitions. I'm not how many but my disk already had three. I followed this https://www.youtube.com/watch?v=pb6tECZP6WE fix but the whole hard drive has to be formatted again. At the installation screen, I pressed Shift + F10 then a command prompt opened and I typed the following commands.
> diskpart
> list disk
> select disk <number>
I had two disks, the hard drive of my machine and USB drive of Windows installation files. The zero number represented the hard drive of my machine.
> clean
The clean commands formatted the whole hard drive.
> convert gpt
> exit
You have to type exit command so that the change is saved.
It seemed like Windows 8 worked better on my Macbook Pro. The palmrest area was much cooler, almost like normal even though I have about 20 tabs of Chrome browser opening and I hadn't even tried the cooling methods i did on Windows 7.

I had three partitions for MacOS, Windows, and data (extFAT). Only Windows partition was bootable so i installed MacOS on another partition. After the installation completed, I couldn't boot into Windows anymore. The Windows partition had been corrupted. I don't know why but seemed like I couldn't have more than 2 primary partitions on the hard disk.

Then, I removed other partitions so i had only MacOS installed. I created another two partitions, NTFS and Mac Extended Journal (for data). Then, I installed Windows on the NTFS partition. The Windows file system didn't corrupt anymore. But, i couldn't see the partition of type Mac Extended Journal from within Windows; i could see only MacOS partition. In Drive Management, the Mac Extended Journal for storing data shown as unallocated space s i created a new partition on it using extFAT file format. Damn! I couldn't boot into Windows again. The master boot record corrupted again.

At last, I successfully solved the problem by reformatted the whole drive and created 3 partitions of types: Mac Extended Journal (for MacOS), NTFS (for Windows), NTFS (for data). The Windows partition didn't corrupted anymore and i could see all partitions from within Windows.



Sunday, December 25, 2016

Got prohibition sign trying to boot Mac OS X from USB drive

My first laptop is Macbook Pro 13'' late 2016 running OSX Lion v10.7. Today, I've just bought another Macbook Air 11'' June 2013 and it has MacOS Sierra installed. My problem is my eyes hurt after staring at the screen for about half an hour but it happens only for Mac OSX v10.8 and later. I can stare at screen for a whole day without any problem if the machine runs OSX Lion v10.7. i'm not sure about the cause of the problem but perhaps it's because OSX v10.8 and later were made for Retina display screen and my both macbooks are non-retina display.

Then, i tried to install OSX Lion on my new Macbook Air using bootable USB. I used Cabon Copy Cloner to clone the OSX Lion drive from my Macbook Pro to the USB drive. I tried to boot my Macbook Air from that bootable USB but i got the prohibition sign and nothing happened. I could boot successfully from that USB with my Macbook Pro.

After that, i thought it might be because the OSX version is too old for my Macbook Air so i used my Macbook Pro to create Mavericks bootable USB and then tried to boot my Macbook Air again from that USB but no luck.

Moreover, I even used CloneZilla to backup the OSX hard drive on the Macbook Pro and then restored it to the OSX hard drive on the Macbook Air, and I still got the prohibition sign booting from the hard drive of the Macbook Air.

Therefore, I assumed that the root cause is not the problem with the version of OSX. As the bootable USB made on my Macbook Pro worked only with that machine, I thought it might be the version of the OS or/and the machine that we used to create the bootable USB is the problem. Hence, I used my Macbook Air running MacOS Sierra to create the bootable USB from the Mavericks installation file (DMG) instead (using Disk Utilities application). Bingo! it worked.

Monday, December 5, 2016

My experience with creating database in MySQL

I'm using Mac OS X Lion v10.7 and writing MySQL script to generate tables for my assignment project, Library Management.

Creating table

create table member(
 id varchar(16) not null,
 first_name varchar(128) not null,
 last_name varchar(128) not null,
 sex enum('M', 'F') not null,
 date_created timestamp not null,
 date_updated timestamp not null,
 primary key (id)
) engine=innodb default charset=utf8;

create table book (
 id bigint not null,
 ddc varchar(45) not null,
 title varchar(255) not null,
 author varchar(128) not null,
 year_published smallint not null,
 primary key (id)
) engine=innodb default charset=utf8;

create table borrow (
 member_id varchar(16) not null,
 book_id bigint not null,
 date_borrowed timestamp not null,
 date_returned timestamp,
 primary key (member_id, book_id, date_borrowed),
 foreign key (member_id) references member(id),
 foreign key (book_id) references book(id)
) engine=innodb default charset=utf8;

- There are a set of integer data types: tinyint(-128 to 127), smallint(-32768 to 32767), mediumint(-8388608 to 8388607)int(-2147483648 to 2147483647), and bigint.
- The option "default charset=utf8" allows me to store characters in many languages such as Spanish.
- From MySQL v5.7 and up, innodb is the default storage engine. It can handle concurrent transactions while myisam cannot.




Entity Relationship Diagram Drawing Tool

I'm using Mac OS X Lion v10.7 and the program I'm using to draw ER diagram is Dia (or download it from here). It's open source and support all platforms (Windows, Mac, and Linux). For the current version of Mac OS X I'm using, it asked me to install additional program called XQuartz (or you can download it from here) and re-login before I could use Dia.

Alternatively, you can use this online tool https://www.draw.io/

Wednesday, November 30, 2016

How I download the old version of OSX

The old versions of OSX such as Lion v10.7 is available on AppStore but you have to purchase it. I download it free from here

Create Clonezilla Live Partition (not a whole USB drive)

I used Tuxboot from within Ubuntu to create Clonezilla Live USB drive. Then, I have an external hard disk drive with multiple partitions. I used Disk Utility in Mac OSX Lion to clone the Clonezilla Live USB drive to one of the partitions but it failed.

Then, I used Carbon Copy Cloner to clone the entire USB drive to the partition instead and it worked.