Como isolar uma unidade?

Como isolar uma unidade?

Pergunta

Na inicialização do Linux, existe uma opção que posso adicionar à linha “vmlinuz…” que impedirá que o sistema operacional (pelo menos nessa sessão) seja capaz de ver ou acessar SSDs NVMe - enquanto mantém todos os outros hardwares detectáveis ​​e montáveis?

Contexto

Sou relativamente novo no Linux e ainda estou aprendendo. Quero criar uma configuração de inicialização múltipla (a partir de unidades diferentes, não de partições diferentes) onde cada instância do sistema operacional esteja efetivamente “diferente” da outra. Posso então selecionar qual unidade inicializar no BIOS na inicialização e qualquer unidade inicializada, esse sistema operacional não poderá ver a outra unidade.

Estou usando um laptop onde não é prático trocar unidades fisicamente (pelo menos não com frequência) e quero executar o Win 10 Pro na minha unidade NVMe (com a unidade SATA desativada no Gerenciador de dispositivos) e mexer em várias distros Linux, executá-los em minha unidade SATA ou em um Live CD (com a unidade NVMe invisível para eles) - enquanto mantenho os dados em minha unidade NVMe seguros.

Algumas informações do sistema

  • BIOS
    AMI Aptio 2.18.126
    Firmware versão 1.05.03
  • Chipset
    Intel Z170
  • Família de processadores
    Skylake
  • Unidade NVMe
    Samsung 950 Pro
  • Unidade SATA
    Samsung 850 Pro

Um grande obrigado a @EugenRieck, @davidgo, @TwistyImpersonator, @dirkt, @KamilMaciorowski e a todos que dedicaram seu tempo para responder.

Em resposta à pergunta de Dirk. O que eu pretendia era uma configuração de inicialização múltipla em que a “unidade a” com seus dados e sistema operacional fosse isolada de qualquer coisa executada na “unidade b”. Idealmente, seria útil desabilitar uma unidade selecionada (ou porta de unidade) no BIOS ou, melhor ainda, por meio de um switch de hardware, mas meu sistema não tem essa opção. Eu vi algumas coisas fazendo referência à configuração das opções do kernel do Linux na inicialização por meio de uma linha de comando, então me perguntei se poderia desabilitar uma unidade dessa forma. Essa abordagem parecia útil, pois se aplicaria mais facilmente a algo como um Live CD pré-configurado, bem como a qualquer coisa que eu pudesse instalar e configurar na “unidade b”. (Obrigado novamente, Eugen, pelos detalhes sobre como fazer isso). Pelo que David disse em sua postagem, parece que esses comandos do kernel não são substitutivos e ainda seria bastante trivial sob tal abordagem que um pouco de malware chegasse à minha unidade NVMe se eu, digamos, configurar incorretamente IPTables ou configurar incorretamente uma VM ou instale um pacote que parecia ter alguns recursos criativos exclusivos, mas na verdade estava corrompido. Isso está correto?

Responder1

Isso é bastante fácil: um parâmetro de linha de comando de inicialização modprobe.blacklist=nvmefará o trabalho.

EDITAR

Conforme solicitado nos comentários, aqui estão algumas informações básicas:

  • modprobeé o mecanismo pelo qual os drivers são carregados automaticamente quando um dispositivo é detectado. Portanto, quando sua unidade NVMe for detectada no barramento PCIe, ela será chamada para tentar carregar os drivers.
  • Como existem algumas situações em que você não deseja que um driver seja carregado automaticamente (o exemplo canônico é nouveauversus o driver nvidia binário do fornecedor), esse mecanismo contém um recurso de "lista negra", que interromperá o carregamento automático de um driver.
  • Esta lista negra pode ser iniciada editando um arquivo /etc/modprobe.dou através da linha de comando do kernel. Usei o último, pois sua pergunta indica explicitamente a linha de comando de inicialização.
  • O driver (módulo do kernel), que torna as unidades NVMe acessíveis como dispositivos de bloco é, sem surpresa, chamado de "nvme"

Juntar tudo isso resulta na linha de comando mencionada - não é incomum usar tal parâmetro, especialmente com laptops peculiares. Basicamente, é o análogo exato de desabilitar os drivers SATA no gerenciador de dispositivos do Windows.

informação relacionada