강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

특정 장치를 루트디바이스로 지정하는 root명령어

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

특정 장치를 루트디바이스로 지정하는 root명령어

 

 

 

 

사용형식 : root (하드디스크디바이스명, 부트파티션명)

 

 

 

 

지정한 장치를 루트장치(root device)로 지정하는 명령어입니다. 

 

 

 

  지정한 파티션내에 kernel이미지와 부팅관련 파일들이 들어있다는 것이 그 의미에 내포되어 있습니다. 

 

 

 

  , 부팅에 사용할 루트디바이스를 설정하는 명령어로서 해당메뉴로 부팅하고자 할 때에 사용할 루트디바이스를 지정한 것입니다. 

 

 

 

  루트디바이스를 설정하는 형식은 다음과 같습니다. 

 

 

 

 

grub> root (hd0,0)

root (hd0,0)

 Filesystem type is ext2fs, partition type 0x83

grub>

 

 

 

 

위의 예에서 “root  (hd0,0)”의 의미는 첫번째 하드디스크의 첫번째 파티션이 루트디바이스라는 것을 지정하였다라는 의미입니다. 

 

 

 

 

 

여기서 주의할 것은 root명령어로 특정 디스크의 파티션을 지정한 후의 경로명 지정방법입니다. 

 

 

 

  root명령어로 지정된 이후의 모든 경로는 지정된 파티션 위치를 루트경로로 인식하게 됩니다. 

 

 

 

 따라서 이후의 특정파일을 지정하거나 특정위치를 지정할 때에는 반드시 root로 지정한 경로를 시작위치로 인식 한다는 점입니다. 

 

 

 

 

 

예를 들어 보겠습니다. 

 

 

 

 아래와 같이 “root (hd0,0)”를 루트디바이스로 지정을 하였습니다. 

 

 

 

 

 

grub> root (hd0,0)

root (hd0,0)

 Filesystem type is ext2fs, partition type 0x83

grub>

grub> cat /boot/grub/grub.conf

cat /boot/grub/grub.conf

 

Error 15: File not found

grub>

 

 

 

 

GRUB의 경로지정방법에 있어서 흔히 위와 같은 실수를 할 수 있습니다. 

 

 

 

 , 위와 같이 “/boot/grub/grub.conf”와 같은 경로로 잘못 지정할 수 있다는 것이죠.  이렇게 지정을 하면 GRUB은 파일의 위치를 인식하지 못합니다. 

 

 

 

 , 파일을 찾지 못하여 아래 예와 같이 “File not found”라는 에러메시지를 출력하게 됩니다. 

 

 

 

 

 

실제로 이 위치는 /boot에 마운트가 되어 사용되고 있으며, 또한 이 /boot라는 위치가 이 위치의 루트경로입니다. 

 

 

 

 따라서 리눅스 파일시스템 경로상의 /boot/grub/grub.conf파일 내용을 확인하려고 한다면 다음 예와 같이 “/grub/grub.conf”로 지정을 해야 합니다. 

 

 

 

 

 

grub> cat /grub/grub.conf

cat /grub/grub.conf

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE:  You have a /boot partition.  This means that

#          all kernel and initrd paths are relative to /boot/, eg.

#          root (hd0,0)

#          kernel /vmlinuz-version ro root=/dev/sda5

#          initrd /initrd-version.img

#boot=/dev/sda

default=0

timeout=0

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title Fedora (2.6.27.5-117.fc10.i686)

        root (hd0,0)

        kernel /vmlinuz-2.6.27.5-117.fc10.i686 ro root=UUID=03908d52-3fbc-4108-b88b-889061816e61 rhgb quiet

        initrd /initrd-2.6.27.5-117.fc10.i686.img

grub>

 

 

 

 

 

따라서 /boot가 이미 루트디바이스로 지정이 되어있기 때문에 경로시작을 /grub부터 지정해야 합니다. 

 

 

 

  , 리눅스 경로에서는 /boot/grub/grub.conf로 지정이 되지만 GRUB에서는 /grub/grub.conf와 같은 형식으로 지정해야 한다는 것입니다. 

 

 

 

 

 

다음은 또 다른 예로서 실제 리눅스 경로에서 /etc/fstab파일의 내용을 확인하기 위하여  GRUB에서는 “root (hd0,4)”를 루트디바이스로 지정하고  “cat /etc/fstab”파일로 지정하여 파일의 내용을 확인한 것입니다. 

 

 

 

 

 

grub> root (hd0,4)

root (hd0,4)

 Filesystem type is ext2fs, partition type 0x83

grub>

grub> cat /etc/fstab

cat /etc/fstab

 

#

# /etc/fstab

# Created by anaconda on Mon Dec  1 12:49:15 2008

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or vol_id(8) for more info

#

UUID=03908d52-3fbc-4108-b88b-889061816e61 /                       ext3    defaults        1 1

UUID=e258fd21-3bda-4c09-8e71-bb0519d6b2cc /home                   ext3    defaults        1 2

UUID=1c536461-b4b4-478d-9ac2-0afc83fd45a1 /boot                   ext3    defaults        1 2

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

UUID=8fa9a496-3f5a-43a7-81e3-3da1f5768edb swap                    swap    defaults        0 0

grub>

 

 

 

 

 

위의 예와 같이 GRUB을 사용하는 초기 사용자들이 가장 애매하고 틀리기 쉬운 부분이 root명령어로 루트디바이스로 지정한 후의 특정 파일이나 위치의 경로사용법 입니다. 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,074 명
  • 현재 강좌수 :  35,995 개
  • 현재 접속자 :  512 명