Linux Desktop

Capitulo com dicas e tutoriais gerais relacionados ao uso de Linux no Desktop

Tutorial: Montar e Desmontar Volumes BitLocker no Linux

Este tutorial ensina como detectar, montar e desmontar unidades BitLocker no Linux Mint usando dislocker e um script automatizado.


Requisitos

sudo apt update
sudo apt install dislocker -y

1. O Script bitlocker-manager.sh

O script permite montar e desmontar volumes BitLocker automaticamente.

Conteúdo do Script

#!/bin/bash
set -e

WORK_BASE="/mnt"
MOUNT_BASE="/media/$USER"

usage() {
    echo "Uso: $0 [mount|umount]"
    echo "  mount   - Desbloqueia e monta o volume BitLocker"
    echo "  umount  - Desmonta volumes BitLocker montados"
    exit 1
}

if [ $# -ne 1 ]; then
    usage
fi

MODE="$1"

if [ "$MODE" == "mount" ]; then
    device=$(lsblk -o NAME,FSTYPE -r | grep -i "BitLocker" | awk '{print $1}' | head -n 1)
    if [ -z "$device" ]; then
        echo "[!] Nenhuma partição BitLocker detectada."
        exit 1
    fi
    device="/dev/$device"
    echo "[*] Volume BitLocker detectado em: $device"

    read -sp "Digite a senha ou chave de recuperação do BitLocker: " input
    echo

    # Detecta se é chave de recuperação (48 dígitos)
    clean_input=$(echo "$input" | tr -d '-') # Remove hífens, se houver
    if [[ "$clean_input" =~ ^[0-9]{48}$ ]]; then
        auth_param="-p$clean_input"
        echo "[*] Detectado chave de recuperação."
    else
        auth_param="-u$input"
        echo "[*] Detectada senha do BitLocker."
    fi

    mapper_dir="$WORK_BASE/bitlk-$(basename $device)"
    mount_dir="$MOUNT_BASE/bitlocker-$(basename $device)"

    sudo mkdir -p "$mapper_dir" "$mount_dir"

    echo "[*] Desbloqueando com dislocker..."
    sudo dislocker -V "$device" $auth_param -- "$mapper_dir"

    echo "[*] Montando NTFS..."
    sudo mount -o loop "$mapper_dir/dislocker-file" "$mount_dir"

    echo "[✓] Volume BitLocker montado em: $mount_dir"

elif [ "$MODE" == "umount" ]; then
    for dir in "$MOUNT_BASE"/bitlocker-*; do
        if mountpoint -q "$dir"; then
            echo "[*] Desmontando NTFS em $dir ..."
            sudo umount "$dir" || echo "[!] Falha ao desmontar $dir"
        fi

        mapper_dir="$WORK_BASE/$(basename $dir | sed 's/bitlocker-/bitlk-/')"
        if mountpoint -q "$mapper_dir"; then
            echo "[*] Desmontando mapper em $mapper_dir ..."
            sudo umount "$mapper_dir" || echo "[!] Falha ao desmontar $mapper_dir"
        fi

        # limpa diretórios
        sudo rmdir "$dir" 2>/dev/null || true
        sudo rmdir "$mapper_dir" 2>/dev/null || true

        echo "[✓] Desmontagem concluída para $dir"
    done
else
    usage
fi

2. Como usar o Script

2.1 Preparação

Salve o script em seu computador, por exemplo:

nano ~/bitlocker-manager.sh

Cole o conteúdo acima e salve.

Torne o script executável:

chmod +x ~/bitlocker-manager.sh

2.2 Montar Volume BitLocker

Insira a unidade BitLocker USB.

Execute o script no modo mount:

~/bitlocker-manager.sh mount

Digite a senha ou chave de recuperação quando solicitado.

Se tudo der certo, o volume será montado em:

/media/<seu_usuario>/bitlocker-<nome_dispositivo>

Você pode acessar os arquivos normalmente pelo gerenciador de arquivos.


2.3 Desmontar Volume BitLocker

Para desmontar, rode o script no modo umount:

~/bitlocker-manager.sh umount

O script vai:


3. Observações Importantes

echo "options usb-storage quirks=0bc2:2322:u" | sudo tee /etc/modprobe.d/seagate-uas-blacklist.conf
sudo update-initramfs -u
sudo reboot

4. Benefícios do Script