AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 529342
Accepted
Sparhawk
Sparhawk
Asked: 2019-07-11 00:15:40 +0800 CST2019-07-11 00:15:40 +0800 CST 2019-07-11 00:15:40 +0800 CST

mount -a funciona, mas falha na inicialização com "não é possível encontrar o UUID"

  • 772

Acabei de atualizar meu servidor para o Debian Buster (Raspbian). No entanto, quando inicializo, meus discos rígidos USB não estão sendo montados. Eu vejo algo como o seguinte na minha tela inicial:

mount: /media/PiHDD: can't find UUID=<string>

Se eu manualmente sudo mount -a, todos os discos rígidos são montados

O seguinte é /etc/fstab:

proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       0
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       0
UUID=<string> /media/PiHDD ext4 defaults,noatime 0 0
UUID=<string2> /media/PiHDD2 ext4 defaults,noatime 0 0
...

que funcionou bem antes da atualização para o Buster.

Eu também tentei identificar os discos rígidos usando PARTUUIDou LABEL, com base na saída de blkid, mas eles também falham na inicialização com can't find LABEL, etc.

Não estou usando o systemd (PID 1 é init, e file /sbin/initdá um executável). /sbin/init --versiondá SysV init version: 2.93. Eu atualizei para o kernel mais recente (de teste) 4.19.57-v7+.

Na inicialização, acho que meu sistema está vendo os dispositivos USB antes de tentar montá-los. Eu posso ver New USB device foundantes que a montagem falhe. Também vejo Attached SCSI diskdepois que o dispositivo é encontrado, mas não tenho certeza se é antes ou depois da montagem com falha. Isso é tudo /var/log/syslog, mas por algum motivo os mount… can't find UUIDerros que vejo na inicialização não estão em nenhum arquivo em /var/log.

Como posso fazer com que meu sistema monte automaticamente meus discos rígidos USB na inicialização?

Aqui está o conteúdo do /etc/inittab.

# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

# The default runlevel.
id:2:initdefault:

# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS

# What to do in single-user mode.
~~:S:wait:/sbin/sulogin

# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.

l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin

# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."

# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop

# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
#  <id>:<runlevels>:<action>:<process>
#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty --noclear 38400 tty1 
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100

# Example how to put a getty on a modem line.
#
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3


#Spawn a getty on Raspberry Pi serial line
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
mount fstab
  • 2 2 respostas
  • 2646 Views

2 respostas

  • Voted
  1. user359065
    2019-07-11T02:49:13+08:002019-07-11T02:49:13+08:00

    Com o sysvinit você tem três scripts iniciais de inicialização: "sysinit", "bootwait" e "boot" (via /etc/inittab). Eles montam dispositivos e carregam módulos etc. ANTES dos níveis de execução serem iniciados.

    Root já está montado, /proc é o primeiro necessário. /sys provavelmente também.

    Tente montar os dispositivos UUID um pouco DEPOIS. Isso significa que você precisa dividir mount -aum pouco e distribuir as opções (no)auto em /etc/fstab de maneira diferente. /proc e um armazenamento externo não pertencem à mesma etapa de montagem.

    Pense no systemd e em todas essas "dependências".

    Deve ser algum módulo (driver) necessário antes que o dispositivo UUID-USB possa ser montado.

    (Se você usar o initrd fica um pouco complicado. Eu sei como ele pode travar esperando por um dispositivo "by-label")


    Para mudar você teria que olhar para /etc/inittab. Seguem algumas linhas do meu:

    ...
    # Simple "old Linux" inittab from manpage:
    # one (default) runlevel, 4 gettys, one bootwait rc-script
    id:2:initdefault:
    
    # sysinit/boot-scripts, they run first
    #si::sysinit:/etc/sysinit.init 
    
    bw::bootwait:/etc/boot.init
    
    # b::boot:/etc/rc
    ...
    

    E este é /etc/boot.init (o script "bootwait"):

    #! /bin/bash
    # Boot script, as defined in sysv inittab
    
    echo  "$0: starting...."
    
    mountpoint /proc || mount -v -t proc  Proc /proc   
    mountpoint /sys || mount -v -t sysfs Sys  /sys 
    
    # root ro -> rw ?
    # fed is ro, arch rw...
    mount -o remount /
    
    # Modules: for keyboard
    modprobe -a xhci-pci usbhid hid-generic         # i2c-hid 
    
    echo 0 > /sys/devices/virtual/graphics/fbcon/cursor_blink
    
    echo "...$0 done"
    

    Isso é tudo que eu preciso quando inicializo com o sysvinit. Parte essencial foi o módulo de teclado! Nada pode funcionar se o seu teclado estiver morto! A montagem de proc e sys é um pouco luxuosa - apenas observe como eu monto esses dois dispositivos virtuais manualmente. Eu tentei usar /etc/fstab, mas não fazia muito sentido. O comando mínimo é apenasmount -t proc none /proc

    O mountpoint ... || mountcomando que eu precisava porque um initrd do systemd já vem com proc, sys e run (tmpfs) montados. E eu não queria ver o erro "já montado", mas uma saída correta. Isso não é systemd, mas com um script simples você pode fazer o básico.

    • 0
  2. Best Answer
    Sparhawk
    2019-07-20T20:51:34+08:002019-07-20T20:51:34+08:00

    Parece que o SysV agora está mal mantido. Mudei para o systemd e sem nenhuma alteração de configuração, minhas unidades agora estão montadas na inicialização conforme o esperado.

    FWIW no Debian/Raspbian, acabei de fazer o sudo apt-get purge sysvinit-core, que também instalou automaticamente libnss-systemde o systemd-sysv.

    • 0

relate perguntas

  • Montando permanentemente um diretório com LVM

  • Impedir que montagens NFS quebradas bloqueiem um diretório no solaris 11.3?

  • Como montar partições de unidade zfs no solaris 11.3

  • Bloqueando montagem syscall

  • montar lan hdd no linux fedora

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve