직렬 콘솔을 사용하여 GRUB 및 단일 사용자 모드에 액세스
적용 대상: ✔️ Linux VM
참고 항목
이 문서에서 참조하는 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를 표시할 수 있습니다.
일반 GRUB 액세스
GRUB에 액세스하려면 직렬 콘솔 창이 열려 있는 동안 VM을 다시 부팅합니다. 일부 배포에서는 GRUB를 표시하기 위해 키보드 입력이 필요하고, 다른 배포에서는 사용자 키보드 입력이 시간 제한을 취소할 수 있도록 GRUB를 몇 초 동안 자동으로 표시합니다.
단일 사용자 모드에 액세스하려면 VM에서 GRUB를 사용하도록 설정해야 합니다. 배포에 따라 GRUB를 사용하도록 설정하기 위해 일부 설정 작업이 필요할 수 있습니다. 배포 관련 정보는 다음 섹션을 참조하세요.
VM을 다시 시작하여 직렬 콘솔에서 GRUB에 액세스
다시 시작 단추를 마우스로 가리킨 다음 VM 다시 시작을 선택하여 직렬 콘솔 내에서 VM을 다시 시작할 수 있습니다. 다시 시작에 대한 알림이 창 아래쪽에 표시됩니다.
SysRq를 사용하는 경우 SysRq "b" 명령을 실행하여 VM을 다시 시작할 수도 있습니다. 다시 부팅할 때 GRUB에서 예상되는 사항을 알아보려면 다음 섹션의 배포 관련 지침을 참조하세요.
일반 단일 사용자 모드 액세스
암호 인증을 사용하여 계정을 구성하지 않은 경우 단일 사용자 모드에 수동으로 액세스해야 할 수 있습니다. 단일 사용자 모드로 수동으로 전환하도록 GRUB 구성을 수정합니다. 이 작업을 수행한 후 자세한 지침은 "단일 사용자 모드를 사용하여 암호 재설정 또는 추가" 섹션을 참조하세요.
VM을 부팅할 수 없는 경우 배포판이 자동으로 단일 사용자 모드 또는 비상 모드로 전환되는 경우가 많습니다. 그러나 다른 배포에는 루트 암호 설정과 같은 추가 설정이 필요하므로 단일 사용자 또는 비상 모드로 자동으로 전환할 수 있습니다.
단일 사용자 모드를 사용하여 암호 재설정 또는 추가
단일 사용자 모드가 되면 다음을 수행하여 sudo 권한이 있는 새 사용자를 추가합니다.
- 실행
useradd <username>
하여 사용자를 추가합니다. - 새 사용자 루트 권한을 부여하려면 실행
sudo usermod -a -G sudo <username>
합니다. - 새 사용자의 암호를 설정하는 데 사용합니다
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의 단일 사용자 모드에서는 루트 사용자를 사용하도록 설정해야 합니다. 단일 사용자 모드를 사용하도록 설정해야 하는 경우 다음 지침을 사용합니다.
- SSH를 통해 Red Hat 시스템에 로그인합니다.
- 루트로 전환합니다.
- 다음을 수행하여 루트 사용자에 대한 암호를 사용하도록 설정합니다.
- 실행
passwd root
(강력한 루트 암호 설정).
- 실행
- 루트 사용자가 다음을 수행하여 ttyS0을 통해서만 로그인할 수 있는지 확인합니다. 를 실행하고
vi /etc/ssh/sshd_config
PermitRootLogIn이 .로 설정되어 있는지 확인합니다no
. b. ttyS0을 통해서만 로그인을 허용하려면 실행vi /etc/securetty file
합니다.
이제 시스템이 단일 사용자 모드로 부팅되면 루트 암호로 로그인할 수 있습니다.
또는 RHEL 7.4 이상 또는 6.9 이상의 경우 GRUB 프롬프트에서 단일 사용자 모드를 사용하도록 설정하려면 단일 사용자 모드로 부팅을 참조하세요.
RHEL에서 단일 사용자 모드 수동 입력
이전 지침을 사용하여 GRUB 및 루트 액세스를 설정한 경우 다음을 수행하여 단일 사용자 모드로 전환할 수 있습니다.
GRUB를 입력하려면 VM을 다시 시작할 때 Esc 키를 누릅니다.
GRUB에서 E 키를 눌러 부팅하려는 OS를 편집합니다. OS는 일반적으로 첫 번째 줄에 나열됩니다.
커널 선을 찾습니다. Azure에서는 Linux 또는 linux16으로 시작합니다.
Ctrl+E를 눌러 줄 끝으로 이동합니다.
줄의 끝에 systemd.unit=rescue.target을 추가 합니다.
이 작업은 단일 사용자 모드로 부팅됩니다. 긴급 모드를 사용하려면 systemd.unit=rescue.target 대신 systemd.unit=emergency.target을 줄 끝에 추가합니다.
Ctrl+X를 눌러 적용된 설정을 종료하고 다시 부팅합니다.
단일 사용자 모드로 전환하려면 관리자 암호를 묻는 메시지가 표시됩니다. 이 암호는 이전 지침에서 만든 암호입니다.
RHEL에서 루트 계정을 사용하지 않고 단일 사용자 모드로 전환
이전 지침에 따라 루트 사용자를 사용하도록 설정하지 않은 경우 다음을 수행하여 루트 암호를 다시 설정할 수 있습니다.
참고 항목
SELinux를 사용하는 경우 루트 암호를 다시 설정할 때 Red Hat 설명서에 설명된 추가 단계를 따라야 합니다.
GRUB를 입력하려면 VM을 다시 시작할 때 Esc 키를 누릅니다.
GRUB에서 E 키를 눌러 부팅하려는 OS를 편집합니다. OS는 일반적으로 첫 번째 줄에 나열됩니다.
커널 선을 찾습니다. Azure에서는 Linux16부터 시작합니다.
줄 끝에 rd.break를 추가합니다. 커널 선과 rd.break 사이에 공백을 둡니다.
이 작업은 Red Hat 설명서에 설명된 대로 컨트롤이 전달되기
systemd
initramfs
전에 부팅 프로세스를 중단합니다.Ctrl+X를 눌러 적용된 설정을 종료하고 다시 부팅합니다.
다시 부팅한 후에는 읽기 전용 파일 시스템을 사용하여 비상 모드로 전환됩니다.
셸에서 읽기/쓰기 권한이 있는 루트 파일 시스템을 다시 탑재하려면 입력
mount -o remount,rw /sysroot
합니다.단일 사용자 모드로 부팅한 후 감옥으로 전환하기 위해 입력
chroot /sysroot
합니다sysroot
.이제 루트에 있으며 시스템 문제 해결을 시작할 수 있습니다.
RHEL에서 SELinux 적용 모드는 OS를 변경으로부터 보호합니다. 암호를 변경한 후 실행
touch /.autorelabel
하여 파일 시스템의 레이블을 다시 지정할 수 있습니다.완료되면 다시 부팅하려면 입력
reboot -f
합니다.
참고 항목
위의 지침을 통해 실행하면 편집 fstab
과 같은 작업을 수행할 수 있도록 응급 셸로 떨어집니다. 그러나 일반적으로 루트 암호를 재설정하고 이를 사용하여 단일 사용자 모드로 전환할 것을 제안합니다.
CentOS에 대한 액세스
Red Hat Enterprise Linux와 마찬가지로 CentOS의 단일 사용자 모드에서는 GRUB 및 루트 사용자를 사용하도록 설정해야 합니다.
CentOS의 GRUB 액세스
CentOS는 기본적으로 GRUB를 사용하도록 설정되어 있습니다. GRUB를 입력하려면 입력하여 VM을 다시 부팅 sudo reboot
한 다음 키를 누릅니다. 이 작업은 GRUB 창을 표시합니다.
CentOS의 단일 사용자 모드
CentOS에서 단일 사용자 모드를 사용하도록 설정하려면 RHEL에 대한 이전 지침을 따릅니다.
Ubuntu에 대한 액세스
Ubuntu 이미지에는 루트 암호가 필요하지 않습니다. 시스템이 단일 사용자 모드로 부팅되는 경우 추가 자격 증명 없이 사용할 수 있습니다.
Ubuntu에서 GRUB 액세스
GRUB에 액세스하려면 VM이 부팅되는 동안 Esc를 길게 누릅니다.
기본적으로 Ubuntu 이미지는 GRUB 창을 자동으로 표시하지 않을 수 있습니다. 다음을 수행하여 설정을 변경할 수 있습니다.
텍스트 편집기에서 /etc/default/grub.d/50-cloudimg-settings.cfg 파일을 엽니다.
GRUB_TIMEOUT
값을 0이 아닌 값으로 변경합니다.텍스트 편집기에서 /etc/default/grub을 엽니다.
줄을 주석으로 처리합니다
GRUB_HIDDEN_TIMEOUT=1
.선이 있는지 확인합니다
GRUB_TIMEOUT_STYLE=menu
.sudo update-grub
를 실행합니다.
Ubuntu의 단일 사용자 모드
Ubuntu가 정상적으로 부팅할 수 없는 경우 자동으로 단일 사용자 모드로 전환됩니다. 단일 사용자 모드를 수동으로 입력하려면 다음을 수행합니다.
- GRUB에서 E 키를 눌러 부팅 항목(Ubuntu 항목)을 편집합니다.
- Linux로 시작하는 줄을 찾은 다음 ro를 찾습니다.
- 단일 후를 추가하여 단일 전후에 공백이 있는지 확인합니다.
- Ctrl+X를 눌러 이러한 설정으로 다시 부팅하고 단일 사용자 모드로 전환합니다.
GRUB를 사용하여 Ubuntu에서 bash 호출
이전 지침을 시도한 후에도 Ubuntu VM에서 단일 사용자 모드에 액세스할 수 없는 상황(예: 잊어버린 루트 암호)이 있을 수 있습니다. 시스템 init 대신 init로 실행 /bin/bash
하도록 커널에 지시할 수도 있습니다. 이 작업은 bash 셸을 제공하고 시스템 유지 관리를 허용합니다. 다음 지침을 사용합니다.
GRUB에서 E 키를 눌러 부팅 항목(Ubuntu 항목)을 편집합니다.
Linux로 시작하는 줄을 찾은 다음 ro를 찾습니다.
ro를 rw init=/bin/bash로 바꿉다.
이 작업은 파일 시스템을 읽기/쓰기로 탑재하고 init 프로세스로 사용합니다
/bin/bash
.Ctrl+X를 눌러 이러한 설정으로 다시 부팅합니다.
CoreOS에 대한 액세스
CoreOS의 단일 사용자 모드에서는 GRUB를 사용하도록 설정해야 합니다.
CoreOS에서 GRUB 액세스
GRUB에 액세스하려면 VM이 부팅되는 동안 아무 키나 누릅니다.
CoreOS의 단일 사용자 모드
CoreOS가 정상적으로 부팅할 수 없는 경우 자동으로 단일 사용자 모드로 전환됩니다. 단일 사용자 모드를 수동으로 입력하려면 다음을 수행합니다.
GRUB에서 E 키를 눌러 부팅 항목을 편집합니다.
linux$로 시작하는 줄을 찾습니다. 줄에는 두 개의 인스턴스가 있어야 하며, 각 인스턴스는 다른 경우에 캡슐화됩니다. else 절입니다.
각 linux$ 줄의 끝에 coreos.autologin=ttyS0을 추가합니다.
Ctrl+X를 눌러 이러한 설정으로 다시 부팅하고 단일 사용자 모드로 전환합니다.
SUSE SLES에 대한 액세스
SLES 12 SP3+의 최신 이미지는 시스템이 비상 모드로 부팅되는 경우 직렬 콘솔을 통한 액세스를 허용합니다.
SUSE SLES에서 GRUB 액세스
SLES의 GRUB 액세스에는 YaST를 통한 부팅 로더 구성이 필요합니다. 구성을 만들려면 다음을 수행합니다.
SSH를 사용하여 SLES VM에 로그인한 다음 실행
sudo yast bootloader
합니다. Tab 키를 누르고 Enter 키를 누른 다음 화살표 키를 사용하여 메뉴를 탐색합니다.커널 매개 변수로 이동한 다음 직렬 콘솔 사용 확인란을 선택합니다.
콘솔 인수에 추가
serial --unit=0 --speed=9600 --parity=no
합니다.F10 키를 눌러 설정을 저장하고 종료합니다.
GRUB를 입력하려면 VM을 다시 부팅하고 부팅 시퀀스 중에 키를 눌러 GRUB 창을 계속 표시합니다.
GRUB의 기본 시간 제한은 1입니다. /etc/default/grub 파일에서 변수를
GRUB_TIMEOUT
변경하여 이 설정을 수정할 수 있습니다.
SUSE SLES의 단일 사용자 모드
SLES가 정상적으로 부팅할 수 없는 경우 자동으로 비상 셸에 놓입니다. 긴급 셸을 수동으로 입력하려면 다음을 수행합니다.
GRUB에서 E 키를 눌러 부팅 항목(SLES 항목)을 편집합니다.
Linux로 시작하는 커널 줄을 찾습니다.
커널 줄 끝에 systemd.unit=emergency.target을 추가합니다.
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 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.