Translate

2013/04/19

VirtualBox를 이용해서 물리적 하드 사용하는 방법


$ sudo adduser $사용자 disk
로그아웃하고 다시 들어온다.(생략해서는 안된다.)

먼저 윈도우가 설치된 파티션이 어딘지 확인을 한다.

$ sudo fdisk -l /dev/sda
Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x37847738

Device Boot Start End Blocks Id System
/dev/sda1 2048 1845247 921600 83 Linux
/dev/sda2 * 1845248 64555007 31354880 7 HPFS/NTFS/exFAT
/dev/sda3 64555008 123148287 29296640 83 Linux
/dev/sda4 123150334 250068991 63459329 5 Extended
/dev/sda5 123150336 250068991 63459328 83 Linux

$ sudo apt-get install mbr
$ cd $저장하고자하는 위치
$ sudo install-mbr --force win7.mbr

위 fdisk를 보면 알겠지만 내 경우는 /dev/sda가 주 디스크 드라이브이고 두번째 파티션에 윈도우가 설치되어 있다.
자신의 시스템에 맞게 적용을 하면 된다.

$ VBoxManage internalcommands createrawvmdk -filename sda.vmdk -rawdisk /dev/sda -partitions 2 -mbr win7.mbr

일반 사용자로도 파일이 잘 만들어졌다는 문구가 나와야한다.

$ chmod +x sda.vmdk

VirtualBox를 실행하여 새로 만들기를 한 뒤에 지금 만든 하드디스크를 추가하면 된다.
중요한 설정은 저장소에서 반드시 sata일 경우 sata를 이용한다.(반대로 ide의 경우에는 ide를 하드디스크로 설정해 주면 된다...)
또한 ssd를 사용할 경우 [설정] → [저정소]에서 ssd 항목을 선택해 준다.
 
이제 실행을 하면 된다. 참고로 가상 이미지를 실행하는 것보다 속도가 느리다 그래서 ssd를 사용할 것을 추천하는 바이다.

주의할 점은  옵션 때문에 리눅스상에서 리눅스(같은 운영체제가 두번 부팅) 되는 현상이 발생하는데 이때는 반드시 다른 시스템(예를 들어 systemrescue cd)으로 부팅을 해서 하드 검사를 해준다.
$ e2fsck -f /dev/sda3
그렇지 않을 경우 다행히도 Read Only filesystem이 된다.



처음 실행시 다음과 같은 오류가 뜨는 경우가 있다.
내 경우는 sysrescueCD로 복구를 했기 때문에 복구하면서 윈도우 비스타 이후에는 디스크 ID도 같이 검사를 하기 때문에 다음과 같은 오류가 발생한다고 한다.

이럴 경우
1. Virtualbox를 실행한 다음 윈도우7시디를 넣어서 부팅을 한다.
→ CD 부팅시 "BOOTMGR image corrupt. The system cannot boot." 이런 알림이 나온 경우
윈도우 파티션을 마운트 한 다음 "Boot"라는 폴더가 있는 파티션에 bootmgr을 복사한 다음 재부팅한다.
반드시 Virtualbox의 전원을 내린 다음 다시 실행하로록 한다(bootmgr은 외장하드에 있다.)
2. CD 부팅 후 잘 찾아보면 commandline으로 복구하는 방법이 있을 것이다. 이걸 실행한다.(임베디드cd로 부팅시에는 Launch WinPE Command Prompt를 선택한다)
3. 다음 명령어를 차례로 실행한다.
bcdedit /set {default} device partition=c:
bcdedit /set {default} osdevice partition=c:
bcdedit /set {bootmgr} device partition=c:
 
4. 정상적으로 명령이 실행되었을 경우 "The operation completed successfully."라고 뜬다
일단은 로그인까지 하여 부팅을 하면 시스템이 변경되었다고 하면서 재부팅을 하라고 한다. 이때 들어가서 재부팅을 한다. 그리고 나서
Virtualbox를 종료한다.


5. 아직 끝나지 않았다. 이렇게 설정을 하면 Virtualbox 안에서 실행할 수는 있지만 듀얼부팅시에 위 그림과 같은 오류가 발생한다.
(발로 만든 MS... 정말 대단하다. 이렇게 사람을 귀찮게 하나...) 그래서 생각한 방법이 메뉴를 새로 만드는 것이다.
6. 윈도우 CD를 넣고 컴퓨터를 재시작한다. Virtualbox가 아닌 컴퓨터를 재시작 해야한다.
7. 이제 2번 과정을 반복한다.
8. 다음 명령어를 차례로 실행한다.
bcdedit /create /application OSLOADER /d "From Grub"

위 명령어를 입력하면 {xxx-aaa..} 이런 내용이 나오는데 {GUID}에 이 내용이 들어간다. GUID가 제대로 나오지 않은 경우 4번 과정을 안한 것이다.

bcdedit /set {GUID} device partition=c:
bcdedit /set {GUID} osdevice partition=c:
bcdedit /set {GUID} path \Windows\system32\winload.exe
bcdedit /set {GUID} locale ko-KR
bcdedit /set {GUID} inherit {bootloadersettings}
bcdedit /set {GUID} systemroot \Windows
bcdedit /set {GUID} nx Optln
bcdedit /displayorder {GUID} /addlast
 
9. 이제 재부팅을 하고 Grub에서 윈도우를 선택한 뒤에 다음 화면을 보면 "From Grub"이 있을 것이다. 선택해 보자
부팅이 잘 될 것이다. 관리자 권한으로 msconfig를 들어가면 [부팅] 탭에 보면 시간설정이 있는데 시간을 조절하면 된다.








    댓글 없음:

    댓글 쓰기

    Template by Aliya H.