부팅시 외부 드라이브가 연결되어있는 경우에만 마운트하십시오


70

fstab에 외장 하드 드라이브에 대한 항목이 있습니다.

UUID="680C0FE30C0FAAE0" /jgdata ntfs noatime,rw

그러나 부팅시이 드라이브가 연결되지 않는 경우가 있습니다. 이 "대기를 눌러 S를 누르거나 M 계속"하라는 메시지와 함께 부팅을 통해 나에게 절반 방법을 잎하지만 키 누름은이 (를 포함하여이 단계에 영향을주지 않습니다 Ctrl- Alt- Delete, 심지어 캡 잠금).

의 출력을 확인하기위한 스크립트 작성이 부족한 fdisk -l경우 부팅시이 드라이브가있는 경우에만 어떻게 마운트 할 수 있습니까? 이 드라이브에 대해 fdisk 항목을 사용하는 것이 편리하므로 mount /jgdata장치 이름 대신 입력 할 수 있습니다 .

답변:


73

당신은 모두 올바른 길을 가고 있습니다. 좀 더 깨끗하고 더 나은 방법을 찾았습니다.

에 추가 할 수있는 올바른 옵션은 fstabIS nofail, 그러나, 이후에 가야합니다 auto. 로 변경하면 noauto부팅 중에 마운트되지 않습니다. nobootwait부트 로더에 추가 하면 파티션 fsck검사 를 마치기 전에 파티션을 마운트하거나 부팅 프로세스에 사용되는 파티션을 마운트하지 않는 등 심각한 문제가 발생할 수 있습니다.

위와 같이 변경 한 후 시스템이 종료 된 상태에서 장치를 연결하면 시스템이 정상적으로 시작되고 볼륨이 마운트됩니다. 부팅시 장치가없는 경우에도 정상적으로 부팅됩니다.

유일한 불편은 구성 (테스트 할 변수가 너무 많음)에 따라 시스템이 실행되는 동안 장치를 연결하면 장치가 즉시 마운트되지 않을 수 있다는 것입니다. 이것은 간단 mount -a하거나 mount /specific_device재부팅 하여 해결할 수 있습니다 .


2
온라인에서 찾을 수있는 모든 예제는 자동 전에 nofail을 보여줍니다. 올바른 주문에 대한 문서가 있습니까?
— Hackeron

'man fstab'은 필요한 순서의 정확성을 제공하지 않습니다 (centos 7 및 Ubuntu 14.04에서 확인). 그러나 "nofail은이 장치에 오류가 없으면보고하지 않습니다."라고 말합니다. nfs 볼륨에 액세스 할 수없는 경우 부팅시 시간 초과를 기다리는 데 도움이되는지 궁금합니다.
— tisc0

16

나는 같은 문제가 있었다-나는 하나의 추가 단계를 수행했다

의 nofail옵션 을 사용하면 /etc/fstab부팅시 시스템 에서 디스크 및 파티션을 찾습니다. 장치가 연결되어 있으면 파일 시스템이 마운트됩니다. 그렇지 않은 경우 부팅은 정상적으로 계속 진행됩니다.

아치 위키를 참조하십시오 : https://wiki.archlinux.org/index.php/Fstab

예

UUID=XXXXXXXXXXXXXXX    /myhdd ntfs  auto,nofail,noatime,rw,user    0   0

장치를 연결하거나 연결하지 않고 시스템을 부팅하려고 시도했지만 정상적으로 작동합니다.

내가 달성하지 못한 것은 부팅 후 디스크가 연결되어있을 때 (부팅시 연결되지 않은 경우) 자동 마운트하는 것입니다. mount -a다시 마운트 하려면 루트로 사용해야 합니다.


13

noauto 옵션으로 부팅 프로세스를 계속할 수 있습니까?

존재하는 경우 자동으로 마운트되지 않지만 존재하는 경우 알려 지므로 간단한 마운트 / jgdata가 작동합니다 ... 그런 다음 스크립트 마운트 / jdata는 출력 검사가 필요하지 않습니다. 오류를 잡아서 계속 부팅하십시오.

편집 : 약간의 추가 읽기시 bootwait는 아마도 더 올바른 전달 옵션 일 것입니다 ... (보통 부팅 프로세스 후반에 존재하지 않을 수 있지만 여전히 id, 정지를 일으킬 수있는 네트워크 공유에 사용됩니다)

마운트 스크립트는 다음과 같이 추가 할 수 있습니다 : https://stackoverflow.com/questions/2062543/running-a-script-with-the-help-of-grub-and-menu-lst


답변 해주셔서 감사합니다. 명확히하기 위해 옵션이 fstab 줄에 추가되어야합니까? (편집 : Nvm, 구글 검색. nobootwait가 필요한 것 같습니다.)
— Jeremy

1
fstab에서 nobootwait 옵션을 사용했는데 완벽하게 작동합니다. 감사합니다.
— 제레미

5
/dev/xvdh1 /myfs xfs defaults,nofail,x-systemd.device-timeout=30 0 0

나를 위해 일했다.

nofail ...이 장치가 없으면 오류를보고하지 마십시오.
x-systemd.device-timeout = 30 ... 장치가 없으면 부팅 시간 이 30 초 더 걸립니다 (기본값은 90 초).

출처 : https://wiki.archlinux.org/index.php/fstab#External_devices


이것이 가장 좋고 가장 간단한 답변입니다. 이전 대체이 systemd를 사용하는 OS의 최신 버전에 대한 새로운 구문은 참고 nobootwait구문
— cxrodgers

이것은 나를 위해 일했습니다. 키가 장치 시간 초과를 추가하고있었습니다. nofail을 사용하면 udev 시간 초과로 인해 부팅이 실제로 실패합니다. (USB 장치에
— 고유함

1

부팅하는 동안 권장되는 마운트 방법은 fstab 파일을 통해 시스템에 지시하는 것 입니다. 귀하의 질문을 살펴보면, 거의 당신이 거기 있음을 알 수 있습니다. 자동 마운트 옵션을 사용하도록 장치를 설정하는 지시 만 부족하여 시스템이 장치를 사용할 수있을 때 장치를 마운트 할 수 있습니다.

따라서 fstab에 다음과 같이 줄을 다시 작성하십시오.

# <file system>           <dir>       <type>    <options>         <dump> <pass>
UUID="680C0FE30C0FAAE0"   /jgdata      ntfs      user,auto,rw       0     0

변경 후 저장 한 후 손으로 마운트하십시오.

$ sudo mount -a

다음 사항에 유의하십시오.

  1. 장치의 UUID를 확인해야합니다. UUID는 파일 시스템을 작성할 때 make 파일 시스템 유틸리티 (mkfs. *)에 의해 생성됩니다.
  2. 그것들 <options>은 쉼표로 구분되지만 각 쉼표 뒤에 공백이없는 매우 구체적인 형식으로 작성해야합니다. 이것을 조심하십시오 ;-)
  3. NTFS-3G 유틸리티를 사용하여 처리 할 수있는 NTFS 파일 시스템을 자동 마운트하려고하기 때문에 이것이 원활하게 작동하는지 잘 모르겠습니다 . 지침이 올바르게 작동하지만 NTFS를 자동 마운트하려고 시도한 적이 없습니다. 따라서 실패한 경우 NTFS의 대체 사용에 대해서는 이 마운트 Windows 파티션 을 참조하십시오.

감사!


나는 당신이 말한 것을 대부분 얻었지만 디스크가 감지되지 않으면 멈추는 것 같습니다. 내가 "적절한"방법의 해결 방법 제안 이유입니다
— RobotHumans

답변 해주셔서 감사합니다. 참고로이 sudo blkid명령은 UUID를 찾는 좋은 방법입니다.
— 제레미

fstab에서 정확한 줄을 시도했습니다. HDD가 연결되면 시스템이 정상적으로 부팅됩니다. 그러나 부팅 중에 외부 HDD가 연결되어 있지 않은 경우에도 대기 / 중지 / 수동 복구를 요청하는 메시지가 계속 표시됩니다. 이 프롬프트가 시간 초과되지 않으므로 터미널에 있지 않으면 외장 HDD가 연결되어 있지 않으면 상자가 부팅되지 않습니다.
— Jeremy

nofail, 옵션을 추가해야합니다.
— kkron

0

나는 같은 문제가 있습니다. 다음에 부팅 할 때 드라이브가 나타나지 않을 때 항목을 주석 처리하기 위해 fstab을 편집하고 있습니다. 그런 다음 드라이브가 있으면 간단히 fstab을 편집하여 주석을 제거하고 mount -a를 실행하십시오. 이것은 완벽한 솔루션이 아닙니다. 시스템에 드라이브가 있으면 자동으로 마운트하거나 존재하지 않으면 자동으로 건너 뛸 수있는 방법을 알아낼 수 있다면 좋을 것입니다. NFS 공유가 자동으로 마운트되어 있고 서버가없는 경우에도 동일한 문제가 발생합니다.


1
수락 한 답변을 확인하고 fstab의 마운트 옵션에 nobootwait를 추가하십시오.
— 제레미
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.