Systemd가 비상 모드로 들어가는 이유를 정확하게 판별하는 방법


10

데비안 Jessie를 실행하는 데스크탑 컴퓨터는 부팅 할 때마다 비상 모드 쉘로 떨어지기 시작했습니다. 화면 journalctl -xb에 이유를 찾고 systemctl default부팅을 계속 하기 위해 사용 하라는 메시지가 표시됩니다. 을 실행 systemctl default하면 시스템이 계속 부팅되며 몇 주 동안 시스템을 사용한 후에도 아무런 문제가 없습니다.

를 통해 살펴보면 journalctl -xb비상 쉘로 떨어질 이유가 없습니다. 비상 모드로 가기로 결정한 이유를 정확하게 결정하는 쉬운 방법이 있습니까? 문제가 어디에 있는지 분명하게 알려주는 다른 플래그 또는 부팅 옵션이 있습니까?


2
저널에는 표시되어야하지만 제공 한 정보가 제한되어 있으므로 안내 할 방법이 없습니다. journalctl -xb 언제 일어 났는지 사본 이 있습니까?
Julie Pelletier

3
systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M법 의학적 수준의 세부 정보를 얻기 위해 자세한 로깅 모드 로 부팅 ...
jasonwryan

2
기존 로그는 이미 이유를 알려줍니다. 추측하기가 매우 어려운 많은 이유가 있습니다.
Giacomo Catenazzi

1
Ubuntu 16.04 인스턴스에서 동일한 문제가 있습니다. 지난 20 년 동안 많은 Linux 시스템을 설치, 사용 및 수리했습니다. 화면에 특별한 것은 없으며 이번에는 로그에 아무것도 눈에 띄지 않습니다. 화면에 부팅을 계속하려면 Ctrl-D가 표시되지만 잠시 후에 같은 프롬프트로 돌아갑니다. 실마리가 없습니다. 답답하지 않습니까?
Stéphane Gourichon

systemd 디버깅의 "부팅 문제 진단"섹션에서 모든 단계를 시도 했습니까 ?
Siosm

답변:


6

장치의 옆에 장치 설명과 함께 오류가 [ FAIL ]콘솔 대신 빨간색 으로 표시되어야 [ OK ]합니다. 일반적으로 첫 번째 실패가 가장 중요합니다. 콘솔에서 shift + pageup을 사용하여 스크롤하여 지난 몇 화면 출력을 볼 수 있습니다. 출력이 너무 많으면 작동하지 않을 수 있습니다.

[ OK ]예를 들어 quiet데비안에서 사용하는 커널 명령 줄 등으로 인해 메시지가 정상적으로 보이지 않더라도 작동합니다 . 첫 번째 실패에서 systemd는 상세 모드로 전환됩니다.

그렇지 않으면을 사용할 수 있습니다 systemctl. 옵션이 없으면 실패가 빨간색으로 강조 표시된 알려진 알려진 장치의 방대한 목록이 표시됩니다. 실패한 항목 만 표시하려면 systemctl --state=failed또는을 사용하십시오 systemctl --failed.


장치 파일을 검색하면 부팅 방법이 매우 적습니다 emergency.target. 일반적으로 .mount로컬 파일 시스템의 장치가 실패 local-fs.target하여 실패하는 경우입니다. 또는 initramfs가 systemd를 사용하는 경우 initramfs가 루트 파일 시스템을 마운트하지 못하는 경우.

local-fs.target있다 OnFailure=emergency.target. 로컬 파일 시스템의 단위가 local-fs.target의 필수 목록에 자동으로 추가되기 때문에 (실패하지 않는 한) 실패합니다 DefaultDependencies=no.

$ systemctl show --property Requires local-fs.target
Requires=-.mount home.mount boot.mount boot-efi.mount

2

가끔씩 "유지 관리 모드"프롬프트가 표시되고 저널을 스크롤하여 오류를 확인해야합니다. journalctl은 호출기로 덜 사용하기 때문에 검색에 더 적은 단축키를 적용 할 수 있어야합니다.

일반적으로 검색 기능 (/)에 의존하여 "오류", "경고"또는 "실패"에 해당하는 항목을 검색합니다. 대소 문자를 구분하지 않고 검색하려면 -i를 사용해야합니다.

그래서 내 키 입력은 다음과 같습니다.

-i (case insensitive)
g (move to start)
/error
nnnn (skip through results)
g (move to start)
/fail
nnnn (skip through results)
g (move to start)
/warn
nnnn (skip through results)

기술적으로 정확한 문제에 대한 철저하거나 정확한 검색은 아니지만 부트 문제를 이런 식으로 놓친 적이 없습니다.

아래에 몇 가지 관련 단축키가 있습니다.

http://www.thegeekstuff.com/2010/02/unix-less-command-10-tips-for-effective-navigation/


나는 빠르게 페이지를 넘겨보고 빨간색 메시지 (LOG_ERR 이상)를 찾는 것이 가능해야한다고 생각합니다. systemd서비스 유닛 시작 실패 또는 파일 시스템 마운트 실패에 대한 빨간색 메시지를 기록합니다.
sourcejedi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.