728x90
반응형
# vim /boot/grub2/grub.cfg

안에 커널라인 마지막에 net.ifnames=0 biosdevname=0 추가 


반응형
728x90
반응형
설치 오류

RHEL6 버젼 설치를 UEFI 모드로 설치 후 시스템 부팅시 아래와 같은 문구가 출력되는 현상

Invalid magic number: 0
Error 13: Invalid or unsupported executable format
Press any key to continue…
원인 :
Trusted Execution Technology와 tboot을  BIOS에서 지원합니다. 따라서 TXT와 tboot이 uEFI 모드가 동작중일 때에는 부팅을 할 수 없습니다. 따라서 tboot과 함께 사용하실 수 없습니다.
해결 :
설치시 패키지중 base (기본)에 고급을 보시면 tboot 패키지가 있습니다. 이것을 제외하시고 설치하시기 바랍니다. 


반응형
728x90
반응형
증상


1) 아래와 같이 chroot 명령어 실행시 /bin/bash 명령어가 실패하여 디렉토리를 찾지못함





해결


1) /bin/sh 복원 (심볼릭 링크인 /bin/sh를 복원해야한다. 심볼릭 링크가 아닌 패키지가 삭제된 경우 bash 패키지를 다시 설치해야한다)

# cd /mnt/sysimage/bin/ -> 만약 아래와 같이 해당 디렉토리를 찾지 못한다면 / 파티션을 마운트 하여야한다.

# mount /dev/sda3 /mnt/sysimage/

# cd /mnt/sysimage/bin/ -> 심볼릭 링크를 생성하기 위해 /bin 디렉토리로 이동

# ln -s bash sh -> bash는 sh 라는 심볼릭 링크를 생성




2) chroot 명령어를 통한 경로 설정이 되는지 확인 (chroot는 관리자가 지정한 디렉토리가 / 디렉토리로 인식하도록 하는 명령어)

# chroot /mnt/sysimage/




3) 종료

# exit
# rebboot



반응형
728x90
반응형
증상


1) 현 상태에서 부팅이 진행되지 않음 (부트로더를 찾지 못하는 현상)





해결


1) CD로 부팅 후 복구모드(rescue mode) 실행




2) skip to shell 로 진입




3) 로컬 파일시스템을 /mnt/sysimage 아래로 마운트

# mount /dev/sda3 /mnt/sysimage/ -> /dev/sda3은 root 파티션이다. 다른 파티션에 설치되어 있을 수 있으니 확인 후 mount
# mount /dev/sda1 /mnt/sysimage/boot/ -> /dev/sda1 은 boot 파티션이다. 보통은 sda1로 하나 다를수 있으니 확인 후 mount
# mount -o bind /dev /mnt/sysimage/dev/
# mount -o bind /sys /mnt/sysimage/sys/
# mount -o bind /proc /mnt/sysimage/proc/
# mount -o bind /var /mnt/sysimage/var
# mount -o bind /tmp /mnt/sysimage/tmp




4) chroot 명령어를 통한 경로 설정 (chroot는 관리자가 지정한 디렉토리가 / 디렉토리로 인식하도록 하는 명령어)

# chroot /mnt/sysimage/




5) grub2 재 설치

# grub2-install /dev/sda




6) 종료

# exit
# reboot



RHEL 6이하 버전 


반응형
728x90
반응형
증상


1) 현 상태에서 부팅이 진행되지 않음 (부트로더를 찾지 못하는 현상)





해결


1) CD로 복구모드 (resuce mode) 실행








2) LVM 구성 확인 및 Mount
- LVM을 구성하지 않은 기본 파티션의 경우 chroot를 통해 파일 시스템을 /mnt/sysimage로 바로 마운트 할 수 있으나
  LVM의 경우는 구성되어 있는 볼륨 그룹을 import후 하나씩 볼륨 그룹과 /mnt/sysimage를 마운트 해야한다.
  기본 파티션의 경우 디렉토리가 바로 디스크에 기록되어 마운트가 가능하나 LVM은 논리적으로 구성 후 그 볼륨 그룹 위에
  디렉토리가 생성되어 있기때문에 볼륨 그룹을 import하고 마운트를 진행하여야 한다.

# lvmdiskscan



# lvm vgimport vg0 (볼륨 그룹 import)



# lvm vgs



# lvm vgchange -a y vg0 (볼륨 그룹 활성화)



# ls /dev/vg0/




3) 로컬 파일시스템을 /mnt/sysimage 아래로 마운트

# mkdir /mnt/sysimage
# mount /dev/vg0/root /mnt/sysimage/
# mount -o bind /dev /mnt/sysimage/dev/
# mount -o bind /sys /mnt/sysimage/sys/
# mount -o bind /proc /mnt/sysimage/proc/
# mount /dev/vg0/var /mnt/sysimage/var
# mount /dev/vg0/tmp /mnt/sysimage/tmp/
# mount /dev/sda1 /mnt/sysimage/boot/




4) chroot 명령어를 통한 경로 설정 (chroot는 관리자가 지정한 디렉토리가 / 디렉토리로 인식하도록 하는 명령어)

# chroot /mnt/sysimage/




5) grub2 재 설치

# grub2-install /dev/sda




6) 종료

# exit
# reboot



RHEL 6이하 버전 


반응형
728x90
반응형
GRUB1과 GRUB2의 차이


1) /boot/grub2/grub.cfg

GRUB2 설정 저장 파일은 menu.lst 파일을 사용하지 않고 grub.cfg 파일을 사용하며 이 파일은 에디터로 직접 수정하지 않는다.
에디터로도 수정 가능하나 수정하였을때 grub2에서 제공하는 grub2-mkconfig로 이파일을 생성하는데 문제가 발생할 수 있으며
커널이 업데이트될 때 이 파일을 업데이트할 때도 문제가 발생할 수 있다.
GRUB2버전에서는 /etc/default/grub파일과 /etc/grub.d/에 있는 파일을 수정한 후 grub2-mkconfig 명령을 이용하여
설정파일을 생성하거나 업데이트해야 한다.


2) 파티션 명명 및 번호 변경

하드 디스크 표기에는 변화가 없지만 GRUB1에서는 파티션을 지정해 줄 때 숫자 0부터 시작하였으나 GRUB2부터는 숫자 1부터 파티션 번호를 명시한다.
주 파티션의 수가 몇 개가 되었든간에 확장파티션으로부터 생성된 노리파티션은 숫자 5부터 시작된다.
또한 파티션을 나타낼 때에 GRUB1에서는 숫자만 지정해 주었으나 GRUB2부터는 msdos에 숫자를 붙여서 사용한다.
Ex) hd0,msdos1 -> 첫번째 하드 디스크에 있는 첫번째 파티션을 의미
      hd1,msdos5 -> 두번째 하드디스크의 첫번째 논리 파티션을 의미
하지만 msdos를 붙이지않고 GRUB1의 방식대로 숫자로만 파티션을 표시하는 것도 허용한다.


3) root 지정방법 변경

GRUB1에서는 OS가 설치되어 있는 드라이브와 파티션을 지정해 줄 때 root(hd0,0)로 설정해 주었으나 GRUB2에서는 set root=(hd0,msdos1)로 변경되었다.
부트 메뉴에서 수동으로 하드 디스크와 파티션을 지정해 줄 때 set root= 로 사용해야 하며 set root= 까지 입력한 후 TAB 키를 사용하면 GRUB2에서
지원하는 하드 디스크 드라이브와 파티션 목록을 보여주므로 쉽게 설정할 수 있다.


4) 커널 이미지 설정 옵션

GRUB1에서는 커널 이미지를 명시할 때 kernel 옵션을 사용했지만 GRUB2부터는 linux 옵션을 사용함에 주의해야 한다.
linux (hd0,5)/boot/vmlinuz 형태로 지정해야한다.





GRUB2 설치 경로 및 파일


GRUB2 패키지를 설치하면 크게 /boot/grub2 와 /etc/default 경로에 파일들이 설치된다.


1) /boot/grub2 : GRUB1의 menu.lst에 해당되는 주 설정 파일이 위치

custom.cfg : 사용자 정의 설정 파일
grub.cfg : /etc/grub.d 스크립트, /etc/default/grub를 이용하여 생성되는 설정 파일
fonts : 글꼴 위치 경로
themes : GRUB 배경화면을 위한 테마


2) /etc/grub.d/ : grub.cfg 파일에 부트 엔트리를 만들어주는 스크립트 파일을 포함

00_header : /etc/default/grub에 있는 설정을 불러온다
10_linux : 설치된 리눅스 운영체제에 대한 메뉴 엔트리를 불러온다
30_os-prober : 타 운영체제를 탐색하여 부트 메뉴에 추가해 주는 역할
40_custom : 사용자 정의로 부트 메뉴에 추가해 주는 템플릿 역할
90_persistent : 사용자가  grub.cfg 파일 일부를 직접 수정할 수 있게 한다


3) /etc/default/grub : /etc/grub.d에 있는 스크립트들에서 사용할 옵션 설정을 포함


4) /usr/bin

grub2-menulst2cfg : GRUB1의 menu.lst 파일을 grub.cfg 파일로 업데이트 해 주는 실행 파일
grub2-customizer : GRUB2 설정 그래픽 인터페이스


5) /usr/sbin

grub2-install : grub2를 하드 디스크에 설치
grub2-mkconfig : /boot/grub2/grub.cfg 설정 파일을 생성해 주는 도구


6) 변경 사항

GRUB2에서는 주설정 파일이 /boot/grub/menu.lst 파일에서 /boot/grub2/grub.cfg 파일로 변경되었다.
GRUB2를 수정할 시 설정파일인 /boot/grub2/grub.cfg 를 직접 수정하는 것이 아니라
/etc/grub.d 디렉토리에 위치하는 스크립트와 /etc/default/grub 파일을 수정하여 grub2-mkconfig 명령에 의해
/boot/grub2/grub.cfg를 생성해주거나 업데이트 하는 것이다.





grub 파일


- /etc/default/grub 파일에는 부트 테마에 관련된 옵션만 있을 뿐 부트에 관련된 옵션이 포함되어 있지 않은데

# grep "export GRUB_DEFAULT" -A50 /usr/sbin/grub2-mkconfig | grep GRUB_

명령을 실행하면 grub2에서 지원하는 모든 옵션 목록을 확인할 수 있다.


옵션

GRUB_DEFAULT = "숫자값"
- 시스템을 재부팅 하였을 때 부트로 되어질 기본 메뉴 엔트리를 설정하는 옵션이다. 숫자값으로 지정하는데 첫번째 부트 엔트리 번호는 0부터 시작한다.
숫자외에 GRUB1의 title 옵션처럼 큰 따옴표를 이용하여 메뉴 엔트리명을 지정해 줄 수도 있다.

GRUB_SAVEDEFAULT = "true / false"
- true 값은 다음 부트시에 기본 부트 엔트리로써 부트 메뉴에서 마지막으로  선택된 운영체제가 자동으로 선택된다.

GRUB_HIDDEN_TIMEOUT = "초"
- 부트시 부트 메뉴를 숨기거나 건너뛸 수 있도록 하는 옵션으로 주어진 시간 동안 ESC키 입력이 있으면 메뉴를 보여준다.
해당 옵션은 GRUB_HIDDEN_TIMEOUT_QUIET 옵션과 함께 사용한다.

GRUB_HIDDEN_TIMEOUT_QUIET= "false"
- false 값으로 설정되어 있으면 GRUB_HIDDEN_TIMEOUT 옵션이 켜 있을 때 카운트다운 타이머가 검은화면 바탕으로 나타난다.

GRUB_TIMEOUT= "초"
- 부트 메뉴를 보여 줄 시간으로 이 시간이 경과되면 기본 부트 엔트리로 부팅이 시작된다. 다른 부트 엔트리를 선택하여 부팅하고자 한다면
주어진 시간내에 아무키나 눌러 해당 부트 엔트리를 선택하면 된다. -1  값은 부트 엔트리를 수동으로 선택하도록 할 때 사용한다.

GRUB_CMDLINE_LINUX= "string"
- 커널에 전달하고자 하는 파라미터를 지정할 때 사용하는 옵션

GRUB_CMDLINE_LINUX_DEFAULT= "string"
- 커널에 전달할 기본 파라미터를 설정

GRUB_GFXMODE= "1280x1024x24"

- GRUB 부트화면의 해상도를 지정


반응형
728x90
반응형
grub.cfg파일로 업데이트


- GRUB2에서는 /usr/sbin/grub2-menulist2cfg 도구로 GRUB1의 설정 파일을 GRUB2 형식에 맞게 변환할 수 있도록 지원한다.


1) 명령어 실행

# grub2-menulst2cfg  /boot/grub/menu.lst  /boot/grub2/grub.cfg


2) 설정 제거

- 변환된 /boot/grub2/grub.cfg 파일의 legacy_kernel 설정에서 두번째 vmlinuz 설정을 삭제하고
lefacy_initrd 설정에서도 두번째 initd.img 설정을 제거




3) grub2 install

# grub2-install /dev/sda

명령을 실행하여 부트로더를 갱신한다

# reboot

재부팅 하여 부트로더가 정상적으로 동작하는지 확인


반응형

'Linux' 카테고리의 다른 글

Linux 부트로더 손상 (LVM 으로 / 구성일 경우)  (0) 2018.08.08
Linux grub2 이해  (0) 2018.08.08
Linux GRUB 재설치 시 오류 발생  (0) 2018.08.08
Linux systemd 손상  (0) 2018.08.08
Linux SELinux 무효화 설정 후 kernel panic  (0) 2018.08.08
728x90
반응형
증상


# grub2-install /dev/sda

명령 실행시 아래와 같은 오류가 발생되는 경우

the file /boot/grub/stage1 not read correctly.



해결


- 해당 오류는 /etc/fstab 파일시스템에서 fdisk 파티션 테이블 정보와 일치하지 않기 때문에 발생한다.
fdisk 명령으로 파티션 상태를 확인후 /etc/fstab 파일에서 마운트될 파티션의 정보를 올바르게 수정해야 한다.



반응형

'Linux' 카테고리의 다른 글

Linux grub2 이해  (0) 2018.08.08
Linux GRUB1의 menu.lst를 GRUB2의 grub.cfg파일로 업데이트  (0) 2018.08.08
Linux systemd 손상  (0) 2018.08.08
Linux SELinux 무효화 설정 후 kernel panic  (0) 2018.08.08
Linux LVM Striped  (0) 2018.08.08
728x90
반응형
증상


1) 현 상태에서 정지 후 systemd가 실행되지 않음 (다른 증상이 발생할 수 도 있음) -> grub 부트로더는 실행되나 부팅은 진행할 수 없음




2) single mode로 접속하여 systemd 패키지 정상 설치 유무 확인

# rpm -V systemd -> systemd가 손상되었을 경우 missing으로 표시




해결


1) CD로 부팅 후 복구모드(rescue mode) 실행




2) skip to shell 로 진입




3) 손상된 systemd에 대한 정보 수집

# rpm -qf /usr/lib/systemd/systemd

# rpm -V systemd




4) systemd 설치

# rpm -Uvh systemd-219.30.el7.x86_64.rpm --replacepkgs


5) /usr/lib/systemd/systemd 파일이 재설치 되었는지 확인

# rpv -V systemd


반응형
728x90
반응형
증상


- SELinux 무효화 설정 후 kernel panic





원인




- 7번째 라인의 SELINUX를 disabled 변경하려다가 잘못하여 11번째 라인의 SELINUXTYPE에 disabled 를 설정한 후 재기동 하게 되면
재기동이 되지 않고 커널 패닉 에러발생



해결


  1. 재기동시 OS부팅시 가운트다운 화면에서 아무 키를 누릅니다.
  2. GRUB 메뉴에서 기동 OS를 위, 아래 방향키로 선택하여 키보드의e 키를 누릅니다.
  3. 위, 아래 방향키로 조정하여kernel 행을 선택하여 키보드의 e키를 누릅니다.
  4. 편집 모드가 표시되면 마지막 부분에 한칸 띄우고 enforcing=0 라고 입력하여 추가합니다.
    enforcing앞에 공백을 넣어야 합니다. = 가 입력이 안될 경우 ^키를 누르면 =가 입력됩니다.
  5. 편집후 엔터키를 누르면 설정이 저장 되고 이전의 kernel을 선택했던 화면으로 되돌아 가게됩니다.
  6. b키를 눌러 OS를 부팅합니다.
  7. 부팅후 /etc/selinux/config파일을 이번에는 제대로 확인하여 7번째 라인 SELINUX을 desabled로 설정 하고 재부팅합니다.


반응형

'Linux' 카테고리의 다른 글

Linux GRUB 재설치 시 오류 발생  (0) 2018.08.08
Linux systemd 손상  (0) 2018.08.08
Linux LVM Striped  (0) 2018.08.08
Linux 백업 슈퍼블록을 이용한 파일 시스템 복구  (0) 2018.08.08
Linux nfs mount error  (0) 2018.08.08

+ Recent posts