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.