GNU/Linux >> Tutoriales Linux >  >> Linux

Pasar de Windows a Linux - Administración de discos

Hoy, me gustaría romper con mi plantilla reciente de tutoriales de Windows a Linux, que se ha centrado en mostrarle cómo instalar, configurar y usar una variedad de programas, típicamente diseñados o destinados solo para Windows, usando marcos como VINO. Lo que discutiremos hoy es el jugoso tema de la administración de discos y unidades.

Más allá de las aplicaciones, hay datos a tener en cuenta. Y los datos son fundamentales para todo. Las cosas se vuelven más complicadas cuando se consideran las diferencias cardinales entre Windows y Linux. El primero usa NTFS y los datos se organizan en unidades (C:, D:, etc.). Linux almacena todo bajo un árbol de sistema de archivos (raíz, /) y usa diferentes formatos de sistema de archivos (como ext4), aunque puede manejar NTFS. Entonces, ¿qué pasa si estás tratando de mover tus cosas? Este tutorial es una buena sugerencia para aquellos que buscan orden, simplicidad y claridad.

Lectura preliminar

Esta guía no puede vivir aislada. Hay algunas leyes estrictas de la física que debemos obedecer. Primero, si no sabe nada acerca de la administración de discos y/o unidades, sistemas de archivos y similares, este artículo no es para usted. Necesitas una base básica de estos principios. Seamos realistas. Este artículo es para nerds, aunque aquellos con poca experiencia práctica en Linux (todavía).

Dicho esto, aquí hay algunos artículos míos que debería leer detenidamente antes de seguir profundizando:

Tutorial de software de partición GParted

La guía definitiva de Linux para principiantes de Windows

Igual pero diferente

Muy bien, ahora que conocemos la jerga y los detalles técnicos, discutamos un escenario. Digamos que tiene una máquina con Windows con dos discos físicos y un total de cinco particiones de disco. Supongamos que el diseño es el siguiente:

  • C:\ unidad:Windows y archivos del sistema operativo principal, archivos de programa, datos de usuario.
  • D:\ drive:instalación de juegos (incluido, por ejemplo, Steam).
  • E:\ drive:datos del usuario (archivos, películas, música, documentos, etc.) NO almacenados en Mis documentos ni similares.
  • F:\ unidad (en el segundo disco):se utiliza para la copia de seguridad; aquí, los datos del usuario se copian una vez por semana.
  • H:\ unidad (en el segundo disco):se usa para cosas sin importancia (descargas, videos sin procesar, etc.).

Ahora, supongamos que el propietario de la computadora con la siguiente disposición de disco está interesado en pasarse a Linux. Entonces, lo que hacen es lo siguiente:

Reparticionan sus discos, específicamente, reducen el tamaño de la unidad H:\ y luego crean varias particiones nuevas en el espacio liberado (y ahora vacío). Luego instalan una distribución de Linux aquí. Ahora, ejecutan un sistema de arranque dual, y cuando encienden la computadora o la reinician, ven un menú que les permite elegir si continuar en el entorno Linux o Windows.

Como puede ver, describí este y otros escenarios similares en mis diversos artículos de arranque dual, como el vinculado anteriormente, así como en las guías de Windows 7 y Ubuntu y Windows 7 y CentOS. Esto debería brindarle un buen punto de referencia para una aventura similar, además de permitirle tener una idea de cómo se verían las diferencias iniciales en la administración del disco en Linux.

Ahora, el usuario tiene un sistema con dos sistemas operativos. Sin embargo, hay un problema. La mayor parte de los datos aún residen en Windows y/o se guardan/mantienen en unidades de Windows, formateadas con el sistema de archivos NTFS. Hay varias preguntas aquí:

  • ¿Puede el usuario acceder a los datos de Windows?
  • ¿Puede el usuario modificar los datos de Windows?
  • ¿Puede el usuario migrar los datos de las unidades de Windows a los sistemas de archivos nativos de Linux en otras particiones?
  • ¿Puede el usuario convertir (si quiere) sistemas de archivos NTFS a sistemas nativos de Linux?

¡Vamos a responder a estas, entonces, vamos!

  • Linux puede leer sistemas de archivos NTFS sin grandes problemas. La mayoría de las distribuciones admiten esto de forma nativa.
  • Del mismo modo, Linux puede escribir en sistemas de archivos NTFS. Sin embargo, no todas las distribuciones tienen esta capacidad lista para usar. La solución a este problema es instalar la utilidad NTFS-3g, que ofrece la funcionalidad necesaria. Por ejemplo, en distribuciones de Red Hat como CentOS, AlmaLinux o Rocky Linux:

sudo dnf instalar ntfs-3g ntfsprogs

  • El usuario puede migrar los datos, sin embargo, en el escenario anterior, es posible que simplemente no haya suficiente espacio disponible en las particiones de Linux recién creadas para acomodar todas las cosas de Windows, incluidos los datos, las copias de seguridad y otras partes. de información.
  • La conversión de sistemas de archivos es una operación riesgosa que puede conducir a la pérdida de datos. Nunca debe hacerse sin una copia de seguridad completa y verificable de los datos. Pero para el caso, si tiene una copia de seguridad, también puede formatear las particiones con el sistema de archivos nativo y copiar los datos.

Opacidad de gestión de discos

La solución a la escasez de espacio en disco y/o la ruta de migración de datos fácil es presentar los datos de Windows dentro del sistema Linux, pero de una manera que sea fácil de discernir, además de permitir copias de seguridad de datos prácticas. Para explicar lo que quiero decir, considere lo siguiente:

En Linux, todas las rutas se resuelven en una raíz (/). Por ejemplo, /home/igor sería el punto de montaje del directorio de inicio del usuario llamado "igor". Pero el mapeo físico de ese directorio puede estar en cualquier lugar. Puede ser una partición diferente, un disco diferente, incluso un sistema diferente (en una red). Por ejemplo:

  • El sistema de archivos raíz (/) es un punto de montaje para /dev/sda1 (la primera partición en el primer disco).
  • home/igor es un directorio y no un punto de montaje separado. Los datos residen en /dev/sda1 (el mismo disco).
  • Alternativamente, la ruta /home/igor podría resolverse en /dev/sda2 o /dev/sdc7 o incluso recursos compartidos NFS, CIFS o Samba.

Esto significa que si un usuario monta unidades de Windows, se presentarán en Linux como parte del sistema de archivos raíz único y no necesariamente serán discernibles desde otras ubicaciones o rutas. Nuevamente, por ejemplo:

La mayoría de los sistemas Linux montarán dispositivos extraíbles, externos o que no sean de Linux en /run/media o /media. Por lo tanto, si ve dos directorios en estas ubicaciones, sin importar cómo se llamen, no necesariamente podrá distinguirlos. Una podría ser una partición interna con formato NTFS de Windows y otra podría ser una unidad USB con formato FAT32.

La solución, entonces

Para solucionar este problema, utilizo el siguiente método:

  • Creo un nuevo directorio de nivel superior en la raíz llamado unidades (/unidades).
  • Dentro, creo directorios que servirán como puntos de montaje para unidades de Windows, con letras como identificadores. Por ejemplo, /unidad/C se usará como punto de montaje para la unidad C:\, y /unidad/E se usará como punto de montaje para la unidad E:\, y así sucesivamente.
  • Creo reglas de montaje permanentes para unidades de Windows en /etc/fstab (más sobre esto en breve). Esto significa que cuando el sistema arranque, las unidades de Windows se montarán como dispositivos de escritura y se presentarán como directorios en la ubicación de nivel superior /drives.

¿Qué asegura este método?

Este enfoque ofrece muchos beneficios útiles:

  • Permite una separación clara y visible entre rutas exclusivas de Linux o Linux puro y rutas de Windows.
  • No mezcla todos los dispositivos/particiones que no son Linux en directorios genéricos.
  • La ejecución de secuencias de comandos de copia de seguridad garantiza que no se copie o se haga una copia de seguridad de todo, sino solo de lo que necesita. Si está haciendo una copia de seguridad completa de su sistema Linux y tiene otros sistemas de archivos y unidades montadas, no necesariamente quiere que se incluyan en la copia de seguridad, y no quiere tener que dar cuenta de cada ruta "desconocida". .

Así es como puedes hacerlo

Siguiendo nuestro ejemplo anterior, el primer paso es descubrir cómo Linux "ve" los discos duros internos y cómo identifica las unidades de Windows. Una vez más, necesitas un poco de experiencia aquí. Puede usar las herramientas de línea de comandos como fdisk para generar la lista de dispositivos y sus particiones. Supongamos lo siguiente:

  • /dev/sda1 - C:\ unidad
  • /dev/sda2 - Unidad D:\
  • /dev/sda3 - E:\ unidad
  • /dev/sdb1 - Unidad F:\
  • /dev/sdb2 - Unidad H:\
  • /dev/sdb3 - raíz de Linux (/)
  • /dev/sdb4 - Intercambio de Linux
  • /dev/sdb5 - Inicio de Linux (/inicio)

Cree la ruta de nivel superior /drives y los directorios debajo (solo para unidades de Windows):

sudo mkdir /unidades
sudo mkdir /unidades/C
sudo mkdir /unidades/D
...

Ahora, como root o sudo, cree una copia de seguridad del archivo /etc/fstab y luego edítelo en un editor de texto (como nano):

sudo cp /etc/fstab /home/"su usuario"/fstab-backup
sudo nano /etc/fstab

En el editor de texto, agregue puntos de montaje a sus unidades de Windows.

/dev/sda1 /drives/C ntfs-3g predeterminados, locale=utf8 0 0
/dev/sda2 /drives/D ntfs-3g predeterminados, locale=utf8 0 0
...

¿Qué tenemos aquí?

  • Especificamos el dispositivo/partición real que queremos montar.
  • Especificamos el punto de montaje.
  • Especificamos el sistema de archivos; en este caso, usamos el controlador del sistema de archivos ntfs-3g (nos da acceso de lectura/escritura).
  • Especificamos las opciones de montaje, manteniéndolo simple con los valores predeterminados, además de la codificación UTF8.
  • Establecimos los dos últimos campos (dump y fsck) en 0, por lo que se excluyen de las operaciones clásicas de Linux.

Aquí hay un ejemplo real de uno de mis sistemas:

#
# / estaba en /dev/nvme0n1p5 durante la instalación
# /boot/efi estaba en /dev/nvme0n1p1 durante la instalación

UUID=7f4087e7-e572-44fd-a4a1-7489099937a0 / ext4 errores=remount-ro 0 1
UUID=C05A-951D /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
/dev/nvme0n1p3 /drives/C ntfs-3g defaults,locale=utf8 0 0

Las primeras tres entradas sin comentarios son entradas de montaje para sistemas de archivos Linux, incluida la raíz (/), /boot/efi, que se requiere en los sistemas UEFI (también muestra un sistema de archivos VFAT) y un archivo de intercambio en lugar de una partición de intercambio.

La cuarta entrada es la adición de una unidad de Windows. Tenga en cuenta que el identificador del dispositivo no es /dev/sdaXY sino /dev/nvmeXnYp3. La razón de esto es que el sistema tiene un disco duro NVMe y el sistema Linux lo identifica de manera diferente a los dispositivos IDE/SATA/SCSI. Pero para todos los efectos prácticos, la notación es la misma.

Lo que tenemos es un primer (0) bus NVMe, un primer (1) dispositivo, una tercera (3) partición. Una vez más, consulte mis guías sobre administración de discos duros anteriores, así como el tutorial de GRUB, ya que la notación para dispositivos y particiones es diferente. Y así, en el ejemplo anterior, montamos nuestra partición de Windows, efectivamente la tercera partición en el disco NVMe, en /drives/C.

No necesita reiniciar para ver el efecto, simplemente vuelva a montar todo:

sudo montaje -a

Ahora, sus unidades de Windows se montarán en las rutas correspondientes y podrá ver los datos. El siguiente paso es hacer que los datos montados sean más fáciles de usar y acceder.

Administrador de archivos y unidades de Windows

Si desea utilizar los datos de la GUI (no de la línea de comandos), puede hacer el siguiente truco:

  • Cree enlaces simbólicos en su directorio de inicio a las unidades montadas.
  • Más específicamente, vincule simbólicamente cada unidad (letra) a una carpeta que tenga un identificador significativo, como los nombres de las unidades de Windows.

ln -s /unidades/C ~/Windows

El comando anterior creará un enlace simbólico en su directorio de inicio. Windows se asignará a /drives/C, que es el punto de montaje de la unidad C:\. Entonces, cuando haga clic en la carpeta de Windows en su administrador de archivos de Linux, verá el contenido de la unidad de Windows.

Ahora, puede ir un paso más allá y crear accesos directos a estas unidades. Por ejemplo, en el entorno de escritorio de Plasma, puede agregar accesos directos a la barra lateral, por lo que Windows se asignará a /unidades/C, los juegos se asignarán a /unidades/D, los datos se asignarán a /unidades/E, etc. Su siguiente paso es agregar potencialmente tareas de copia de seguridad al flujo, pero ese es un tema para otro tutorial.

Conclusión

Mi tutorial no es el santo grial de la gestión de datos. Lejos de ahi. Pero proporciona sugerencias elegantes para los problemas comunes que las personas pueden enfrentar al pasar de Windows a Linux. Proporciona una forma de presentar los datos de Windows de forma visible e intuitiva. No incluye ninguna operación destructiva. Permite copias de seguridad convenientes y separación de datos. Y ofrece a las personas acostumbradas al flujo de trabajo de Windows adaptarse lentamente al nuevo entorno sin comprometer las pistas familiares o los flujos de trabajo establecidos.

Con las unidades solo de Windows montadas en su propia ruta, enlaces simbólicos para brindarle un acceso conveniente a través de herramientas GUI y una asignación lógica, ahora debería tener una base buena y sólida para su migración. El siguiente paso es asegurarse de que sus datos importantes estén respaldados. Porque los datos sin copias de seguridad son solo una tragedia a punto de ocurrir. Cubriremos eso, así como muchos otros consejos prácticos del día a día en artículos de seguimiento. Por ahora, reflexione un poco sobre el esquema de datos que describí anteriormente. Y esté atento a las guías de configuración de programas adicionales. Nos vemos pronto.


Linux
  1. Cómo usar un escritorio remoto desde Windows a un escritorio Linux usando XRDP

  2. Linux:¿hace que la copia de disco/disco sea más lenta?

  3. Uso de DLL de Windows desde Linux

  4. Apague la máquina de Windows desde la terminal de Linux

  5. Usando masilla para scp de Windows a Linux

Cómo acceder a las particiones de Linux desde Windows 10

Gestión de procesos de Linux mejorada con htop

Gestión de paquetes de Linux con YUM y RPM

Alejándose de Windows - Comienza

Haga que Linux se parezca a Windows - edición 2021

Errores clásicos de Path.DirectorySeparatorChar al pasar de .NET Core en Windows a Linux