직렬 콘솔을 사용하여 GRUB 및 단일 사용자 모드에 액세스

참고

이 문서에서 참조하는 CentOS는 Linux 배포판이며 EOL(수명 종료)에 도달합니다. 사용을 고려하고 그에 따라 계획하십시오. 자세한 내용은 CentOS 수명 종료 지침을 참조하세요.

GRand GRUB(Unified Bootloader)는 VM(가상 머신)을 부팅할 때 가장 먼저 표시되는 것일 수 있습니다. 운영 체제가 시작되기 전에 표시되므로 GRUB는 SSH를 통해 액세스할 수 없습니다. GRUB에서는 부팅 구성을 수정하여 단일 사용자 모드로 부팅할 수 있습니다.

단일 사용자 모드는 최소한의 기능으로 최소한의 환경입니다. 부팅 문제, 파일 시스템 문제 또는 네트워크 문제를 조사하는 데 유용할 수 있습니다. 백그라운드에서 실행할 수 있는 서비스가 적고 runlevel에 따라 파일 시스템이 자동으로 탑재되지 않을 수도 있습니다.

단일 사용자 모드는 로그인을 위해 SSH 키만 허용하도록 VM이 구성될 수 있는 상황에서도 유용합니다. 이 경우 단일 사용자 모드를 사용하여 암호 인증을 사용하여 계정을 만들 수 있습니다.

참고

직렬 콘솔 서비스는 기여자 수준 이상의 권한이 있는 사용자만 VM의 직렬 콘솔에 액세스할 수 있도록 허용합니다.

단일 사용자 모드로 전환하려면 VM이 부팅 중일 때 GRUB를 입력하고 GRUB에서 부팅 구성을 수정합니다. 다음 섹션에서 GRUB를 입력하기 위한 자세한 지침을 참조하세요. 일반적으로 VM이 GRUB를 표시하도록 구성된 경우 VM의 직렬 콘솔 내에서 다시 시작 단추를 사용하여 VM을 다시 시작하고 GRUB를 표시할 수 있습니다.

도구 모음에 표시된 VM 다시 시작 단추의 스크린샷

일반 GRUB 액세스

GRUB에 액세스하려면 직렬 콘솔 창이 열려 있는 동안 VM을 다시 부팅합니다. 일부 배포에서는 GRUB를 표시하기 위해 키보드 입력이 필요하고 다른 배포에서는 사용자 키보드 입력이 시간 제한을 취소할 수 있도록 몇 초 동안 GRUB를 자동으로 표시합니다.

단일 사용자 모드에 액세스하려면 VM에서 GRUB를 사용하도록 설정해야 합니다. 배포에 따라 GRUB를 사용하도록 설정하기 위해 일부 설정 작업이 필요할 수 있습니다. 배포 관련 정보는 다음 섹션을 참조하세요.

직렬 콘솔에서 GRUB에 액세스하려면 VM을 다시 시작합니다.

다시 시작 단추를 마우스 로 가리킨 다음 VM 다시 시작을 선택하여 직렬 콘솔 내에서 VM을 다시 시작할 수 있습니다. 다시 시작에 대한 알림이 창 아래쪽에 표시됩니다.

SysRq를 사용하는 경우 SysRq "b" 명령을 실행하여 VM을 다시 시작할 수도 있습니다. 다시 부팅할 때 GRUB에서 예상되는 사항을 알아보려면 다음 섹션의 배포 관련 지침을 참조하세요.

애니메이션 GIF는 명령줄 인터페이스를 보여줍니다. 사용자가 도구 모음에서 VM 다시 시작을 선택한 다음 직렬 콘솔 내의 VM이 다시 시작됩니다.

일반 단일 사용자 모드 액세스

암호 인증을 사용하여 계정을 구성하지 않은 경우 단일 사용자 모드에 수동으로 액세스해야 할 수 있습니다. 수동으로 단일 사용자 모드로 전환하도록 GRUB 구성을 수정합니다. 이 작업을 수행한 후 자세한 지침은 "단일 사용자 모드를 사용하여 암호를 재설정하거나 추가" 섹션을 참조하세요.

VM을 부팅할 수 없는 경우 배포판에서 자동으로 단일 사용자 모드 또는 비상 모드로 전환되는 경우가 많습니다. 그러나 다른 배포에는 루트 암호 설정과 같은 추가 설정이 필요합니다. 이 설정은 사용자를 단일 사용자 또는 응급 모드로 자동으로 삭제할 수 있습니다.

단일 사용자 모드를 사용하여 암호 재설정 또는 추가

단일 사용자 모드가 되면 다음을 수행하여 sudo 권한이 있는 새 사용자를 추가합니다.

  1. 를 실행 useradd <username> 하여 사용자를 추가합니다.
  2. 를 실행 sudo usermod -a -G sudo <username> 하여 새 사용자 루트 권한을 부여합니다.
  3. 를 사용하여 passwd <username> 새 사용자의 암호를 설정합니다. 그런 다음 새 사용자로 로그인할 수 있습니다.

RHEL(Red Hat Enterprise Linux)에 대한 액세스

RHEL이 정상적으로 부팅할 수 없는 경우 자동으로 단일 사용자 모드로 전환됩니다. 그러나 단일 사용자 모드에 대한 루트 액세스를 설정하지 않은 경우 루트 암호가 없고 로그인할 수 없습니다. 해결 방법이 있지만("RHEL에서 수동으로 단일 사용자 모드 입력" 섹션 참조) 루트 액세스를 처음에 설정하는 것이 좋습니다.

RHEL의 GRUB 액세스

RHEL은 기본적으로 GRUB를 사용하도록 설정되어 있습니다. GRUB를 입력하려면 를 실행하여 VM을 다시 부팅 sudo reboot한 다음 키를 누릅니다. GRUB 창이 표시됩니다. 그렇지 않은 경우 다음 줄이 GRUB 파일(/etc/default/grub)에 있는지 확인합니다.

RHEL 8의 경우

참고

Red Hat은 Grubby를 사용하여 RHEL 8 이상에서 커널 명령줄 매개 변수를 구성하는 것이 좋습니다. 현재 grubby를 사용하여 grub 시간 제한 및 터미널 매개 변수를 업데이트할 수 없습니다. 모든 부팅 항목에 대한 GRUB_CMDLINE_LINUX 인수 업데이트를 수정하려면 를 실행 grubby --update-kernel=ALL --args="console=ttyS0,115200 console=tty1 console=ttyS0 earlyprintk=ttyS0"합니다. 자세한 내용은 여기에서 확인할 수 있습니다.

GRUB_TIMEOUT=5
GRUB_TERMINAL="serial console"
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0 earlyprintk=ttyS0"

RHEL 7의 경우

GRUB_TIMEOUT=5
GRUB_TERMINAL_OUTPUT="serial console"
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 net.ifnames=0"

참고

Red Hat은 구조 모드, 비상 모드 또는 디버그 모드로 부팅하고 루트 암호를 재설정하기 위한 설명서도 제공합니다. 자세한 내용은 부팅 중 터미널 메뉴 편집을 참조하세요.

RHEL에서 단일 사용자 모드에 대한 루트 액세스 설정

루트 사용자는 기본적으로 사용하지 않도록 설정됩니다. RHEL의 단일 사용자 모드에서는 루트 사용자를 사용하도록 설정해야 합니다. 단일 사용자 모드를 사용하도록 설정해야 하는 경우 다음 지침을 사용합니다.

  1. SSH를 통해 Red Hat 시스템에 로그인합니다.
  2. 루트로 전환합니다.
  3. 다음을 수행하여 루트 사용자에 대한 암호를 사용하도록 설정합니다.
    • 실행 passwd root (강력한 루트 암호 설정).
  4. 루트 사용자가 다음을 수행하여 ttyS0을 통해서만 로그인할 수 있는지 확인합니다. 를 실행하고 vi /etc/ssh/sshd_configPermitRootLogIn이 로 설정되어 있는지 확인합니다 no. b. 를 실행 vi /etc/securetty file 하여 ttyS0을 통해서만 로그인을 허용합니다.

이제 시스템이 단일 사용자 모드로 부팅되면 루트 암호로 로그인할 수 있습니다.

또는 RHEL 7.4 이상 또는 6.9 이상의 경우 GRUB 프롬프트에서 단일 사용자 모드를 사용하도록 설정하려면 단일 사용자 모드로 부팅을 참조하세요.

RHEL에서 단일 사용자 모드 수동 입력

이전 지침을 사용하여 GRUB 및 루트 액세스를 설정한 경우 다음을 수행하여 단일 사용자 모드로 전환할 수 있습니다.

  1. GRUB를 입력하려면 VM을 다시 시작할 때 Esc 키를 누릅니다.

  2. GRUB에서 E 키를 눌러 부팅하려는 OS를 편집합니다. OS는 일반적으로 첫 번째 줄에 나열됩니다.

  3. 커널 줄을 찾습니다. Azure에서는 linux 또는 linux16으로 시작합니다.

  4. Ctrl+E를 눌러 줄 끝으로 이동합니다.

  5. 줄 끝에 systemd.unit=rescue.target을 추가합니다.

    이 작업은 사용자를 단일 사용자 모드로 부팅합니다. 긴급 모드를 사용하려면 systemd.unit=rescue.target 대신 줄 끝에 systemd.unit=emergency.target을 추가합니다.

  6. Ctrl+X를 눌러 적용된 설정을 종료하고 다시 부팅합니다.

    단일 사용자 모드로 전환하려면 관리자 암호를 묻는 메시지가 표시됩니다. 이 암호는 이전 지침에서 만든 암호입니다.

    애니메이션 GIF는 명령줄 인터페이스를 보여줍니다. 사용자가 서버를 선택하고 커널 줄의 끝을 찾은 다음 지정된 텍스트를 입력합니다.

RHEL에서 루트 계정을 사용하도록 설정하지 않고 단일 사용자 모드 입력

이전 지침에 따라 루트 사용자를 사용하도록 설정하지 않은 경우에도 다음을 수행하여 루트 암호를 다시 설정할 수 있습니다.

참고

SELinux를 사용하는 경우 루트 암호를 재설정할 때 Red Hat 설명서에 설명된 추가 단계를 따라야 합니다.

  1. GRUB를 입력하려면 VM을 다시 시작할 때 Esc 키를 누릅니다.

  2. GRUB에서 E 키를 눌러 부팅하려는 OS를 편집합니다. OS는 일반적으로 첫 번째 줄에 나열됩니다.

  3. 커널 줄을 찾습니다. Azure에서는 linux16으로 시작합니다.

  4. 줄 끝에 rd.break 를 추가합니다. 커널 선과 rd.break 사이에 공백을 둡니다.

    이 작업은 Red Hat 설명서에 설명된 대로 컨트롤이 에서 initramfssystemd로 전달되기 전에 부팅 프로세스를 중단합니다.

  5. Ctrl+X를 눌러 적용된 설정을 종료하고 다시 부팅합니다.

    다시 부팅한 후에는 읽기 전용 파일 시스템을 사용하여 긴급 모드로 전환됩니다.

  6. 셸에서 를 입력 mount -o remount,rw /sysroot 하여 읽기/쓰기 권한이 있는 루트 파일 시스템을 다시 탑재합니다.

  7. 단일 사용자 모드로 부팅한 후 를 입력 chroot /sysroot 하여 감옥으로 전환합니다 sysroot .

  8. 이제 루트에 있으며 시스템 문제 해결을 시작할 수 있습니다.

  9. RHEL에서 SELinux 적용 모드는 OS를 변경으로부터 보호합니다. 을 실행 touch /.autorelabel 하여 암호가 변경된 후 파일 시스템의 레이블을 다시 지정할 수 있습니다.

  10. 완료되면 를 입력 reboot -f 하여 다시 부팅합니다.

애니메이션 GIF는 명령줄 인터페이스에서 RHEL에서 루트 계정을 사용하도록 설정하지 않고 단일 사용자 모드로 진입하는 프로세스를 보여줍니다.

참고

위의 지침을 실행하면 편집과 같은 fstab작업을 수행할 수 있도록 긴급 셸로 이동합니다. 그러나 일반적으로 루트 암호를 다시 설정하여 단일 사용자 모드로 전환할 것을 권장합니다.

CentOS에 대한 액세스

Red Hat Enterprise Linux와 마찬가지로 CentOS의 단일 사용자 모드에서는 GRUB 및 루트 사용자를 사용하도록 설정해야 합니다.

CentOS의 GRUB 액세스

CentOS는 기본적으로 GRUB를 사용하도록 설정되어 있습니다. GRUB를 입력하려면 를 입력 sudo reboot하여 VM을 다시 부팅한 다음 키를 누릅니다. 이 작업은 GRUB 창을 표시합니다.

CentOS의 단일 사용자 모드

CentOS에서 단일 사용자 모드를 사용하도록 설정하려면 RHEL에 대한 이전 지침을 따릅니다.

Ubuntu에 대한 액세스

Ubuntu 이미지에는 루트 암호가 필요하지 않습니다. 시스템이 단일 사용자 모드로 부팅되는 경우 추가 자격 증명 없이 사용할 수 있습니다.

Ubuntu의 GRUB 액세스

GRUB에 액세스하려면 VM이 부팅되는 동안 Esc를 길게 누릅니다.

기본적으로 Ubuntu 이미지는 GRUB 창을 자동으로 표시하지 않을 수 있습니다. 다음을 수행하여 설정을 변경할 수 있습니다.

  1. 텍스트 편집기에서 /etc/default/grub.d/50-cloudimg-settings.cfg 파일을 엽니다.

  2. GRUB_TIMEOUT 값을 0이 아닌 값으로 변경합니다.

  3. 텍스트 편집기에서 /etc/default/grub을 엽니다.

  4. 줄을 주석으로 처리합니다 GRUB_HIDDEN_TIMEOUT=1 .

  5. 선이 있는지 확인합니다 GRUB_TIMEOUT_STYLE=menu .

  6. sudo update-grub을(를) 실행합니다.

Ubuntu의 단일 사용자 모드

Ubuntu가 정상적으로 부팅할 수 없는 경우 자동으로 단일 사용자 모드로 전환됩니다. 단일 사용자 모드를 수동으로 입력하려면 다음을 수행합니다.

  1. GRUB에서 E 키를 눌러 부팅 항목(Ubuntu 항목)을 편집합니다.
  2. Linux로 시작하는 줄을 찾은 다음 ro를 찾습니다.
  3. ro 다음에 단일 을 추가하여 단일 전후에 공백이 있는지 확인합니다.
  4. Ctrl+X를 눌러 이러한 설정으로 다시 부팅하고 단일 사용자 모드로 전환합니다.

GRUB를 사용하여 Ubuntu에서 bash 호출

이전 지침을 시도한 후에도 Ubuntu VM에서 단일 사용자 모드에 액세스할 수 없는 상황(예: 잊어버린 루트 암호)이 있을 수 있습니다. 커널에 시스템 init가 아닌 init로 실행 /bin/bash 하도록 지시할 수도 있습니다. 이 작업은 bash 셸을 제공하고 시스템 유지 관리를 허용합니다. 다음 지침을 사용합니다.

  1. GRUB에서 E 키를 눌러 부팅 항목(Ubuntu 항목)을 편집합니다.

  2. Linux로 시작하는 줄을 찾은 다음 ro를 찾습니다.

  3. rorw init=/bin/bash로 바꿉다.

    이 작업은 파일 시스템을 읽기-쓰기로 탑재하고 를 init 프로세스로 사용합니다 /bin/bash .

  4. Ctrl+X를 눌러 이러한 설정으로 다시 부팅합니다.

CoreOS에 대한 액세스

CoreOS의 단일 사용자 모드에서는 GRUB를 사용하도록 설정해야 합니다.

CoreOS의 GRUB 액세스

GRUB에 액세스하려면 VM이 부팅되는 동안 아무 키나 누릅니다.

CoreOS의 단일 사용자 모드

CoreOS가 정상적으로 부팅할 수 없는 경우 자동으로 단일 사용자 모드로 전환됩니다. 단일 사용자 모드를 수동으로 입력하려면 다음을 수행합니다.

  1. GRUB에서 E 키를 눌러 부팅 항목을 편집합니다.

  2. linux$로 시작하는 줄을 찾습니다. 줄의 두 인스턴스가 있어야 합니다. 각 인스턴스는 서로 다른 경우에 캡슐화됩니다 . else 절입니다.

  3. linux$ 줄의 끝에 coreos.autologin=ttyS0을 추가합니다.

  4. Ctrl+X를 눌러 이러한 설정으로 다시 부팅하고 단일 사용자 모드로 전환합니다.

SUSE SLES에 대한 액세스

SLES 12 SP3+의 최신 이미지는 시스템이 비상 모드로 부팅되는 경우 직렬 콘솔을 통해 액세스할 수 있습니다.

SUSE SLES의 GRUB 액세스

SLES의 GRUB 액세스에는 YaST를 통한 부팅 로더 구성이 필요합니다. 구성을 만들려면 다음을 수행합니다.

  1. SSH를 사용하여 SLES VM에 로그인한 다음, 를 실행합니다 sudo yast bootloader. Tab 키를 누르고 Enter 키를 누른 다음 화살표 키를 사용하여 메뉴를 탐색합니다.

  2. 커널 매개 변수로 이동한 다음 직렬 콘솔 검사 사용 상자를 선택합니다.

  3. 콘솔 인수에 를 추가 serial --unit=0 --speed=9600 --parity=no합니다 .

  4. F10 키를 눌러 설정을 저장하고 종료합니다.

  5. GRUB를 입력하려면 VM을 다시 부팅하고 부팅 시퀀스 중에 키를 눌러 GRUB 창을 계속 표시합니다.

    GRUB의 기본 시간 제한은 1입니다. /etc/default/grub 파일에서 변수를 GRUB_TIMEOUT 변경하여 이 설정을 수정할 수 있습니다.

애니메이션 GIF는 YaST를 통해 부팅 로더 구성을 만드는 프로세스를 보여줍니다.

SUSE SLES의 단일 사용자 모드

SLES가 정상적으로 부팅할 수 없는 경우 자동으로 비상 셸에 놓입니다. 응급 셸을 수동으로 입력하려면 다음을 수행합니다.

  1. GRUB에서 E 키를 눌러 부팅 항목(SLES 항목)을 편집합니다.

  2. linux로 시작하는 커널 줄을 찾습니다.

  3. 커널 줄 끝에 systemd.unit=emergency.target 을 추가합니다.

  4. Ctrl+X를 눌러 이러한 설정으로 다시 부팅하고 긴급 셸을 입력합니다.

    참고

    이 작업은 읽기 전용 파일 시스템을 사용하여 긴급 셸로 이동합니다. 파일을 편집하려면 읽기-쓰기 권한이 있는 파일 시스템을 다시 탑재합니다. 이렇게 하려면 셸에 를 입력 mount -o remount,rw / 합니다.

Oracle Linux에 대한 액세스

Red Hat Enterprise Linux와 마찬가지로 Oracle Linux의 단일 사용자 모드에서는 GRUB 및 루트 사용자를 사용하도록 설정해야 합니다.

Oracle Linux의 GRUB 액세스

Oracle Linux는 기본적으로 GRUB를 사용하도록 설정되어 있습니다. GRUB를 입력하려면 를 실행하여 VM을 다시 부팅 sudo reboot한 다음 Esc 키를 누릅니다. 이 작업은 GRUB 창을 표시합니다. GRUB 창이 표시되지 않으면 줄 값 GRUB_TERMINAL직렬 콘솔 (즉, GRUB_TERMINAL="serial console")이 포함되어 있는지 확인합니다. 를 사용하여 GRUB를 다시 빌드합니다 grub2-mkconfig -o /boot/grub/grub.cfg.

Oracle Linux의 단일 사용자 모드

Oracle Linux에서 단일 사용자 모드를 사용하도록 설정하려면 RHEL에 대한 이전 지침을 따릅니다.

다음 단계

직렬 콘솔에 대한 자세한 내용은 다음을 참조하세요.

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.