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 / 792503
Accepted
preferred_anon
preferred_anon
Asked: 2025-03-15 21:52:01 +0800 CST2025-03-15 21:52:01 +0800 CST 2025-03-15 21:52:01 +0800 CST

O que acontece se uma partição raiz, montada via USB, for desconectada?

  • 772

Tenho um laptop sem um disco rígido interno. Para tirar algum proveito dele, estou pensando em colocar a partição raiz em uma mídia externa, por USB. Não vejo nenhuma razão para que isso não funcione, mas imagino o que aconteceria se eu desconectasse e reconectasse o USB acidentalmente.

Obviamente, em geral, é possível reconectar dispositivos automaticamente, mas se a partição root desconectar, isso ainda seria possível? Tenho quase certeza de que um sistema em execução não morreria imediatamente se a root desaparecesse, mas não ficaria surpreso se a remontagem se tornasse impossível.

automounting
  • 1 1 respostas
  • 33 Views

1 respostas

  • Voted
  1. Best Answer
    user10489
    2025-03-16T01:24:14+08:002025-03-16T01:24:14+08:00

    Normalmente, se um USB montado for puxado, o sistema de arquivos montado se tornará ilegível e não gravável. O estado do sistema de arquivos no USB também pode ser corrompido se houver páginas sujas não escritas na RAM. (Um fsck pode consertar isso, mas também pode haver perda de dados.)

    Quando você reconecta um USB nesse estado, ele será mapeado para um novo nome de dispositivo, sem a capacidade de reconectar a montagem antiga. A única resolução aqui é desmontar a montagem quebrada e remontar a partir do novo nome do dispositivo. (O nome do dispositivo antigo pode desaparecer assim que for desmontado, tornando o nome disponível para o próximo USB conectado.)

    No entanto, como esse é o sistema de arquivos raiz, você não pode desmontá-lo e remontá-lo (já que ele está em uso), então isso se torna uma situação irrecuperável. Isso é fatal, é claro, mas não instantaneamente.

    Os itens ainda armazenados em cache na RAM continuarão legíveis por um tempo até que a página em cache seja removida e, então, também ficarão ilegíveis.

    Você não conseguirá executar novos programas (que não estejam em cache na memória) de jeito nenhum. Até mesmo o diretório em que eles estavam se torna ilegível, então você receberá "Comando não encontrado" para quase tudo.

    Programas existentes que precisam de páginas que não estão na memória provavelmente travarão e morrerão repentinamente, sem aviso e possivelmente sem erro visível.

    Algumas coisas (como possivelmente seu shell) podem nunca travar, pois estão na memória e em uso, mas não conseguirão fazer muita coisa, pois todo o resto estará quebrado.

    Se você estiver em uma GUI, partes dela podem morrer ao descobrir páginas ausentes das quais precisavam, incluindo as janelas do terminal que contêm seus shells, e elas podem simplesmente desaparecer quando você tenta digitar na janela, ou a GUI inteira pode eventualmente travar, levando você a um terminal de texto (no qual você não conseguirá fazer login, pois tudo está quebrado).

    Serviços críticos do sistema que tenham coisas abertas na montagem raiz com falha não funcionarão corretamente, mesmo que não travem, então as coisas vão piorar progressivamente.

    Se você tiver um shell root aberto, talvez consiga remontar o USB recuperado sobre a montagem root quebrada existente, mas provavelmente isso não será permitido e, mesmo que seja, não corrigirá programas em execução na montagem antiga que já estavam parcialmente travados, e alguns programas em execução com a montagem antiga não verão a nova montagem e continuarão travados.

    Quando seu último shell restante travar (sem nenhum erro ou maneira de registrar o erro), nada poderá substituí-lo, então ele pode parecer que não responde mais e trava quando, na verdade, ele simplesmente morreu silenciosamente.

    Este é um estado irrecuperável que vai piorar à medida que você mexe nele até que tudo trave e você reinicie.

    Você nem conseguirá desligar ou executar o comando de reinicialização, pois isso fará com que os serviços tentem desligar corretamente (embora seja tarde demais para isso).

    A única recuperação sensata é reinicializar. Será necessário um hard reboot, que se você tiver sorte pode ser feito com o comando, reboot -f -fmas provavelmente não estará disponível e você terá que fazer o equivalente manualmente segurando o botão de energia até que ele desligue. (Se você habilitou as teclas sysreq, você pode fazer o equivalente com AltSysRqbo qual sempre funcionará (se estiver habilitado).)

    • 2

relate perguntas

  • Não é possível editar auto_master no macOS Mojave [fechado]

  • sistema de arquivos de montagem automática do systemd como leitura e gravação, não funcionando como esperado (somente leitura)

  • O parted monta automaticamente novas partições?

  • Tempo limite do dispositivo Cryptsetup ao montar automaticamente através do Systemd

  • Ignorando a montagem automática no momento da inicialização

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