Andlinux에서는 루트 디렉토리로 cobd0라는 가상장치를 통해 가상 드라이브를 사용한다. 이 경우 base.vdi라는 파일을 관리하는 것으로 모든 정보를 통째로 관리하게 된다. 그러나 가상 파일 시스템을 사용하는 것의 문제점은 파일 시스템에 존재하는 파일에 업데이트하는 것이기 때문에 성능에서 많은 손실을 보게 된다.
Andlinux에서 실제 하드디스크의 파티션을 사용하는 방법을 통해 가상 파일 시스템으로 동작하면서 가질 수 있는 위험을 벗어나고자 할 대 이 방법을 사용하면 유용하다.
1. 실제 하드디스크 파티션의 추가
먼저 실제 하드디스크를 andlinux에서 인식시켜야 한다.
mem=1024
root=/dev/cobd0
initrd=initrd.gz
kernel=vmlinux
cobd0=Drives\base.vdi
cobd1=Drives\swap.vdi
eth0=slirp
eth1=tuntap,"TAP-Colinux",00:11:22:33:44:55
sda1=\Device\Harddisk0\Partition3
cofs0=v:\
root=/dev/cobd0
initrd=initrd.gz
kernel=vmlinux
cobd0=Drives\base.vdi
cobd1=Drives\swap.vdi
eth0=slirp
eth1=tuntap,"TAP-Colinux",00:11:22:33:44:55
sda1=\Device\Harddisk0\Partition3
cofs0=v:\
sda1장치를 추가하는 방법으로 자신이 추가하고자 하는 파티션의 실제 이름 및 번호는 다음과 같이 알 수 있다.
C:\Documents and Settings\yarang>diskpart
Microsoft DiskPart version 5.1.3565
Copyright (C) 1999-2003 Microsoft Corporation.
컴퓨터: MAGI-PICOS
컴퓨터: MAGI-PICOS
DISKPART> select disk 0
0 디스크가 선택한 디스크입니다.
DISKPART> list partition
파티션 ### 종류 크기 오프셋
------------- ---------------- ------- -------
파티션 1 주 80 GB 32 KB
파티션 2 주 600 GB 80 GB
파티션 3 주 19 GB 680 GB
------------- ---------------- ------- -------
파티션 1 주 80 GB 32 KB
파티션 2 주 600 GB 80 GB
파티션 3 주 19 GB 680 GB
DISKPART>
1) diskpart 명령은 실제 하드디스크의 상태 및 파티션의 정보를 확인할 수 있는 명령어이다.
2) select disk 0 명령은 원하는 파티션이 실제하는 디스크의 번호를 적는다. 디스크 번호는 0번부터 시작하며 자신이 원하는 번호를 넣는다.
3) list partition 명령으로 파티션의 정보를 확인할 수 있다. 파티션에서 보여주는 번호를 그대로 사용하면 된다.
본 문서에서는 첫번재 디스크의 3번째 파티션으로 19GB 짜리 파티션을 대상으로 한다.
2. 루트 디스크의 정보 복사하기
cobd0 디스크의 정보를 /dev/sda1에 복사하여야 한다. 복사하는 정보는 루트 파티션의 가상 파일 시스템의 정보만을 복사한다. /dev/sda1은 /mnt/sda1에 마운트 한다.
yarang@andLinux:~$ sudo cp -axR /* /mnt/sda1/
쉘에서 cp명령에 옵션으로 axR을 주어서 하나의 파티션에 있는 파일들을 전부 복사한다.
복사후 재부팅하기 전 /mnt/sda1/etc/fstab의 정보를 바꾸어주어야 한다.
yarang@andLinux:~$ cat /mnt/sda1/etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/cobd0 / ext3 defaults 1 1
-->
#/dev/cobd0 / ext3 defaults 1 1
/dev/sda1 / ext3 defaults 1 1
31 /mnt/and cofs defaults 0 0
/dev/cobd1 none swap sw 0 0
/dev/cofs0 /mnt/win cofs defaults,gid=samba,dmask=0775,fmask=0775 0 0
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/cobd0 / ext3 defaults 1 1
-->
#/dev/cobd0 / ext3 defaults 1 1
/dev/sda1 / ext3 defaults 1 1
31 /mnt/and cofs defaults 0 0
/dev/cobd1 none swap sw 0 0
/dev/cofs0 /mnt/win cofs defaults,gid=samba,dmask=0775,fmask=0775 0 0
기존의 /dev/cobd0를 /로 마운트한 정보를 /dev/sda1으로 변경하여 준다.
팁.
1) /dev 파일 시스템의 정보 추가 복사하기.
복사하기 전 시스템에서 /dev 장치 목록을 복사해주어야 한다. 특히 장치 파일은 복사가 안되는 경우가 발생할 수 있기 때문에 추가적으로 복사하여 준다.
yarang@andLinux:~$ sudo cp -aR /dev/* /mnt/sda1/dev/
3. 부팅 정보 수정
Andlinux의 부팅시 정보를 수정하기 위해 setting.txt 파일을 수정한다.
mem=1024
root=/dev/sda1
initrd=initrd.gz
kernel=vmlinux
cobd0=Drives\base.vdi
cobd1=Drives\swap.vdi
eth0=slirp
eth1=tuntap,"TAP-Colinux",00:11:22:33:44:55
sda1=\Device\Harddisk0\Partition3
cofs0=v:\
root=/dev/sda1
initrd=initrd.gz
kernel=vmlinux
cobd0=Drives\base.vdi
cobd1=Drives\swap.vdi
eth0=slirp
eth1=tuntap,"TAP-Colinux",00:11:22:33:44:55
sda1=\Device\Harddisk0\Partition3
cofs0=v:\
전부 수정하였다면 andlinux를 shutdown 한 후 다시 시작한다.
주의할점
푸트파티션으로 마운트할 파티션은 주 파티션 타입으로 작성하여야 한다. 확장 파티션의 논리 파티션으로는 루트 파티션으로 사용할 수 없다.
푸트파티션으로 마운트할 파티션은 주 파티션 타입으로 작성하여야 한다. 확장 파티션의 논리 파티션으로는 루트 파티션으로 사용할 수 없다.
