diff --git a/1/ISO/assignments/particiones/imgs/0.png b/1/ISO/assignments/particiones/imgs/0.png new file mode 100644 index 0000000..685c4c7 Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/0.png differ diff --git a/1/ISO/assignments/particiones/imgs/1.png b/1/ISO/assignments/particiones/imgs/1.png new file mode 100644 index 0000000..dc5cb35 Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/1.png differ diff --git a/1/ISO/assignments/particiones/imgs/10.png b/1/ISO/assignments/particiones/imgs/10.png new file mode 100644 index 0000000..ce8a2b6 Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/10.png differ diff --git a/1/ISO/assignments/particiones/imgs/11.png b/1/ISO/assignments/particiones/imgs/11.png new file mode 100644 index 0000000..e4281b2 Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/11.png differ diff --git a/1/ISO/assignments/particiones/imgs/12.png b/1/ISO/assignments/particiones/imgs/12.png new file mode 100644 index 0000000..70a470a Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/12.png differ diff --git a/1/ISO/assignments/particiones/imgs/13.png b/1/ISO/assignments/particiones/imgs/13.png new file mode 100644 index 0000000..4c72165 Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/13.png differ diff --git a/1/ISO/assignments/particiones/imgs/2.png b/1/ISO/assignments/particiones/imgs/2.png new file mode 100644 index 0000000..526b4a8 Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/2.png differ diff --git a/1/ISO/assignments/particiones/imgs/3.png b/1/ISO/assignments/particiones/imgs/3.png new file mode 100644 index 0000000..bf3bb8d Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/3.png differ diff --git a/1/ISO/assignments/particiones/imgs/4.png b/1/ISO/assignments/particiones/imgs/4.png new file mode 100644 index 0000000..f210801 Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/4.png differ diff --git a/1/ISO/assignments/particiones/imgs/5.png b/1/ISO/assignments/particiones/imgs/5.png new file mode 100644 index 0000000..ebc5b72 Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/5.png differ diff --git a/1/ISO/assignments/particiones/imgs/6.png b/1/ISO/assignments/particiones/imgs/6.png new file mode 100644 index 0000000..21d5364 Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/6.png differ diff --git a/1/ISO/assignments/particiones/imgs/7.png b/1/ISO/assignments/particiones/imgs/7.png new file mode 100644 index 0000000..06feb0d Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/7.png differ diff --git a/1/ISO/assignments/particiones/imgs/8.png b/1/ISO/assignments/particiones/imgs/8.png new file mode 100644 index 0000000..a05db84 Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/8.png differ diff --git a/1/ISO/assignments/particiones/imgs/9.png b/1/ISO/assignments/particiones/imgs/9.png new file mode 100644 index 0000000..06ee299 Binary files /dev/null and b/1/ISO/assignments/particiones/imgs/9.png differ diff --git a/1/ISO/assignments/particiones/particiones.pdf b/1/ISO/assignments/particiones/particiones.pdf new file mode 100644 index 0000000..a5350d5 Binary files /dev/null and b/1/ISO/assignments/particiones/particiones.pdf differ diff --git a/1/ISO/assignments/particiones/particiones.tex b/1/ISO/assignments/particiones/particiones.tex new file mode 100644 index 0000000..5ed813e --- /dev/null +++ b/1/ISO/assignments/particiones/particiones.tex @@ -0,0 +1,273 @@ +\documentclass[12pt,a4paper]{article} +\usepackage[spanish]{babel} +\usepackage[ddmmyyyy]{datetime} +\usepackage{graphicx} + +\title{Organización Lógica De Un Disco Duro} +\author{Nicolás A. Ortega} +\date{} + +\begin{document} +\maketitle +\pagebreak +\section{Hoja De Control Del Documento} +\begin{table}[h!] + \begin{center} + \caption{Documento/Archivo} + \label{tab:document} + \begin{tabular}{|l|c|l|c|} + \hline + {\bf Fecha Última Modificación} & \today & {\bf Versión/Revisión} & + 1.0 \\ \hline + {\bf Fecha Creación} & 13/10/2021 & \hfill & \hfill \\ \hline + {\bf Fecha Finalización} & \today & \hfill & \hfill \\ \hline + \end{tabular} + \end{center} +\end{table} + +\begin{table}[h!] + \begin{center} + \caption{Registro De Cambios} + \label{tab:registro-cambios} + \begin{tabular}{|c|c|c|} + \hline + {\bf Versión/Revisión} & {\bf Página} & {\bf Descripción} \\ \hline + 1.0 & Todas & Fomato básico documento. \\ \hline + \end{tabular} + \end{center} +\end{table} + +\begin{table}[h!] + \begin{center} + \caption{Autores Del Documento} + \label{tab:autores} + \begin{tabular}{|c|c|} + \hline + {\bf Apellidos, Nombre} & {\bf Curso} \\ \hline + Ortega Froysa, Nicolás A. & 1 \\ \hline + \end{tabular} + \end{center} +\end{table} + +\begin{table}[h!] + \begin{center} + \begin{tabular}{|p{4cm}|p{4cm}|p{4cm}|} + \hline + {\bf Preparado} & {\bf Revisado} & {\bf Aprobado} \\ \hline + Ortega Froysa, Nicolás A. & \hfill & \hfill \\ \hline + \end{tabular} + \end{center} +\end{table} + +\pagebreak + +\section{Particiones En Windows} + +\begin{figure}[h!] + \begin{center} + \includegraphics[width=0.7\linewidth]{imgs/0.png} + \caption{Cambiar tamaño de partición.} + \label{fig:resize} + \end{center} +\end{figure} + +Para completar esta tarea, tuve que hacer uso de una máquina virtual de Windows, +y decidí usar la herramienta de AOMEI Partition Assistant, ya que tenía más +capacidades en su versión gratuita (estándar) que MiniTool. + +\begin{figure} + \begin{center} + \includegraphics[width=0.75\linewidth]{imgs/1.png} + \caption{Crear partición primaria.} + \label{fig:create-primary} + \end{center} +\end{figure} + +Al trabajar en una máquina donde el disco virtual entero ya se estaba usando +para Windows (volumen C), lo primero que hice fue cambiar el tamaño de aquella +partición para tener espacio para trabajar (figura \ref{fig:resize}). A partir +de ahí empecé a crear las nuevas particiones (figura \ref{fig:create-primary}). +Estas particiones las he creado como particiones primarias, y venía por defecto +formateado con NTFS. + +\begin{figure} + \begin{center} + \includegraphics[width=0.75\linewidth]{imgs/3.png} + \caption{Crear partición lógica.} + \label{fig:create-logical} + \end{center} +\end{figure} + +\begin{figure} + \begin{center} + \includegraphics[width=0.75\linewidth]{imgs/6.png} + \caption{Cambiar formateado de partición.} + \label{fig:change-format} + \end{center} +\end{figure} + +A partir de esto, empecé a crear las particiones lógicas. Utilizando el interfaz +gráfico pude crear las tres particiones lógicas con las etiquetas +\texttt{Datos}, \texttt{Juegos}, y \texttt{Videos} (figura +\ref{fig:create-logical}). Luego, cambié el formateado de la partición con la +etiqueta de \texttt{Datos}, de NTFS a FAT32 (figura \ref{fig:change-format}). +Esto cuando lo intenté hacer con el MiniTool, era una característica limitada a +los programas con licencia profesional, y por eso decidí cambiarme a otra +herramienta que tuviera más capacidades en su versión gratuita (i.e.\ AOMEI +Partition Assistant). + +\begin{figure} + \begin{center} + \includegraphics[width=0.75\linewidth]{imgs/7.png} + \caption{Eliminar partición.} + \label{fig:eliminate-partition} + \end{center} +\end{figure} + +\begin{figure} + \begin{center} + \includegraphics[width=0.75\linewidth]{imgs/11.png} + \caption{Formatear como FAT.} + \label{fig:format-fat} + \end{center} +\end{figure} + +Eliminé después la última partición, \texttt{Videos} (figura +\ref{fig:eliminate-partition}), para poder liberar espacio. A partir de ahí pude +crear dos particiones lógicas con ese espacio: \texttt{ex0} y \texttt{ex1}. +Éstas las formateé con FAT32 y FAT respectivamente (figura +\ref{fig:format-fat}). + +\begin{figure} + \begin{center} + \includegraphics[width=0.75\linewidth]{imgs/12.png} + \caption{Fusionar particiones.} + \label{fig:merge} + \end{center} +\end{figure} + +Luego, intenté fusionar ({\em merge}) dos particiones -- la partición primaria +de \texttt{F} y la partición lógica de \texttt{Datos} (figura \ref{fig:merge}), +y aunque no me decía que fuera directamente imposible, sí que me lo impedía. El +mensaje decía que no se puede porque se tienen que aplicar todos los cambios +(a.k.a.\ transacciones) que se hayan acumulado hasta entonces. Esto no lo hice +ya que entonces cabe la posibilidad de romper la máquina virtual que la uso para +otras asignaturas. + +\begin{figure} + \begin{center} + \includegraphics[width=0.75\linewidth]{imgs/13.png} + \caption{Cambiar partición activa.} + \label{fig:activate} + \end{center} +\end{figure} + +Finalmente cambié la partición activa para la iniciación de la máquina (figura +\ref{fig:activate}). Me mencionó que es posible que esta acción pueda desactivar +otras particiones, lo cual tendría sentido ya que sólo se puede iniciar de un +sistema operativo a la vez. + +\pagebreak + +\section{Particiones En UNIX (Linux + fdisk)} + +Para esta sección, se va a crear primero una imagen virtual sobre la cual +podremos hacer los cambios que queremos hacer. Esto se hace para no trabajar con +un dispositivo de almacenamiento externo, y simplificar la tarea, además de +poder cumplir mejor con los requisitos de la tarea. Esto se hace mediante el +comando \texttt{dd}, que funciona a bajo nivel, copiando byte por byte la +información. Para crear la imagen virtual, corremos el siguiente comando: + +\begin{verbatim} +$ dd if=/dev/zero of=virt-drive.img bs=1M count=30720 +30720+0 records in +30720+0 records out +32212254720 bytes (32 GB, 30 GiB) copied, 382,355 s, 84,2 MB/s +\end{verbatim} + +En esta ejecución vemos varios parámetros del comando. Éstos tienen el +significado siguiente: + +\begin{itemize} + \item \texttt{if=/dev/zero}: la primera parte (\texttt{if}) significa + ``input file'', y es el archivo que se usará para copiar. En este caso + estamos usando un archivo especial, \texttt{/dev/zero}, que simplemente + lee ceros. + \item \texttt{of=virt-drive.img}: los caracteres \texttt{of} significan + ``output file'', y es el archivo destino de los datos que se copian. Lo + guardaremos todo en un archivo nombrado \texttt{virt-drive.img}. + \item \texttt{bs=1M}: \texttt{bs} quiere decir ``block size'', y se refiere + al tamaño de los bloques que se van escribiendo al archivo de escritura. + En este caso, definimos el tamaño de bloque de 1MB. + \item \texttt{count=30720}: el número de bloques que se han de copiar. En + nuestro caso, como estamos transfiriendo en bloques de 1MB, y queremos + crear un disco virtual de 30GB, el número de bloques sería de $30 \times + 1024 = 30720$. +\end{itemize} + +Este proceso puede tardar mucho tiempo, ya que literalmente está creando un +archivo de tamaño de 30GB, y cambiando todos los bytes del disco en esa región a +cero. Hay otras herramientas para hacer esto, sobre todo de QEMU que se usa para +administrar máquinas virtuales, mas esta herramienta (\texttt{dd}) tiene +seguridad de estar ya en cualquier máquina UNIX. + +Con la imagen virtual, podemos abrirlo como si fuera cualquier otro dispositivo +de almacenamiento. Normalmente éstos están en el directorio \texttt{/dev/}, mas +como este se ha creado, está donde lo creamos. Con el comando siguiente, podemos +ver el contenido actual de la imagen (que está vacía): + +\begin{verbatim} +$ fdisk -l virt-drive.img +Disk virt-drive.img: 30 GiB, 32212254720 bytes, 62914560 sectors +Units: sectors of 1 * 512 = 512 bytes +Sector size (logical/physical): 512 bytes / 512 bytes +I/O size (minimum/optimal): 512 bytes / 512 bytes +\end{verbatim} + +Para poder manejar las particiones, usaremos la herramienta \texttt{fdisk}, que +es la más simple, aunque existan otras. Esto es porque \texttt{fdisk} es más +universal, y se encontrará en cualquier sistema basado en UNIX. Esto lo hacemos +corriendo el comando \texttt{fdisk virt-drive.img}. + +Entrando el comando \texttt{p}, nos dice: \texttt{Disklabel type: dos}. Esto es +decir que ya al empezar, \texttt{fdisk} quiere trabajar con el sistema de +particiones de MBR. Esto se usa por defecto ya que es la más universal, aunque +hoy en día sería más común utilizar GPT, que se puede crear con el comando +\texttt{g}. + +Para crear las particiones, usaremos el comando \texttt{n} (de {\em new}). Esto +nos preguntará por el tipo de partición que queremos crear (primaria o +extendida, la segunda siendo la que contiene las particiones lógicas). Al elegir +primaria, nos preguntará el número de la partición (sólo del 1 al 4, ya que MBR +no puede soportar más). Luego nos preguntará por el primer sector (es normal +simplemente elegir el sector por defecto). Cuando se pregunta por el último +sector, aquí es donde podemos especificar el tamaño de la partición con el +sintaxis \texttt{+G}, donde \texttt{} es el tamaño que queremos. En +nuestro caso, diremos \texttt{+10GB}. Al terminar nos creará una partición nueva +de tamaño de 10GB de tipo \texttt{Linux}. + +\begin{verbatim} +Command (m for help): n +Partition type + p primary (0 primary, 0 extended, 4 free) + e extended (container for logical partitions) +Select (default p): + +Using default response p. +Partition number (1-4, default 1): +First sector (2048-62914559, default 2048): +Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-62914559, +default 62914559): +10G + +Created a new partition 1 of type 'Linux' and of size 10 GiB. +\end{verbatim} + +% TODO: with logical partitions + +En \texttt{fdisk} no existe un comando para cambiar las etiquetas de las +particiones. Pero como esto es una función puramente estética, y tampoco +importante para la tarea a mano, lo saltamos. + +% TODO: merge doesn't exist, you must delete and create + +\end{document}