¿Carpetas virtuales de Windows 7?

16

Tengo instalado Steam. Steam está instalado en c: \ Archivos de programa \ Steam. Steam descarga varios juegos a una subcarpeta llamada SteamApps. La única opción disponible es que Steam descargue e instale aplicaciones en la misma ubicación que Steam. Una configuración típica podría verse así:

C:\Program Files\Steam\SteamApps\common\Game1
C:\Program Files\Steam\SteamApps\common\Game2
C:\Program Files\Steam\SteamApps\common\Game3
C:\Program Files\Steam\SteamApps\common\Game4

Etc.

Mi unidad C es una SSD, por lo que el espacio es un problema. Game1 requiere mucho disco, así que necesito que permanezca en la unidad C, pero tengo un espacio de espacio en el que me gustaría instalar Game2 y Game3.

¿Hay alguna manera de crear una carpeta virtual llamada "Game2" que realmente apunte a mi disco duro más grande y hacerlo de tal manera que Steam (o cualquier aplicación realmente) pueda navegar a la ubicación en la unidad C y no incluso darse cuenta de que realmente estaba accediendo a la unidad D: ¿a dónde apunta la carpeta virtual?

Entonces, al final, C: \ Archivos de programa \ Steam \ SteamApps \ Common \ Game2 existiría como una carpeta, pero en realidad se asigna a D: \ Games \ Game2.

usuario14301
fuente
1
Tengo el mismo "problema" yo mismo. Lo que hago es hacer una copia de seguridad de los juegos que no juego actualmente y luego eliminar el contenido local. Cuando quieras volver a jugarlos, simplemente ve al menú "Steam -> hacer copia de seguridad y restaurar" y restaurarlos. De esa manera, no tendrá que descargar todos los datos nuevamente cuando vuelva a instalar. Sin embargo, es un diseño horrible que no puedes tener juegos en diferentes discos.
T. Kaltnekar
1
También deberá asociar el "excelentes tipos de enlaces en Windows" superuser.com/a/347946/24500
surfasb
1
Mejor aún ... He proporcionado más detalles en una nueva respuesta a continuación. Por favor echa un vistazo.
Flak DiNenno

Respuestas:

21

Intenta lo siguiente:

Abra un símbolo del sistema con permisos administrativos:

mklink / D Virtual_Folder_Here Real_Folder_Here

Por ejemplo, desea instalar algo en D: \ Games, pero quiere que aparezca como C: \ Games.

mklink / DC: \ Juegos D: \ Juegos

Esto creará una carpeta D: \ Game que también aparece como C: \ Game. Cualquier cosa que haga referencia a C: \ Game se redirigirá a D: \ Game.

Como no estoy completamente familiarizado con steam, no he dado un ejemplo que coincida con su carpeta exacta. Si steam le permite elegir la carpeta en la que se instala (lo cual, debido a que no solo lo instaló en la otra unidad, no estoy tan seguro de que lo haga), podría crear primero el enlace simbólico. Sin embargo, si no es así, es posible que deba realizar algunas transferencias de archivos, moverlo a la nueva ubicación y luego crear el enlace simbólico. Ejemplo:

Steam instaló tu juego en: C: \ Archivos de programa \ Steam \ SteamApps \ common \ Game2

Ahora, crea su carpeta: D: \ GameGoesHere

Luego, copia todos los archivos de la carpeta original y lo coloca en D: \ GameGoesHere, luego puede crear el enlace:

mklink / D "C: \ Archivos de programa \ Steam \ SteamApps \ common \ Game2" "D: \ GameGoesHere"

Tenga en cuenta que esta vez utilicé citas debido al espaciado de "Archivos de programa". También tenga en cuenta que antes de crear el enlace, la carpeta virtual NO debe ser una carpeta real. Por lo tanto, si la carpeta que desea que sea un enlace existe, primero debe eliminarla (¡no antes de copiarla, por supuesto!)

Serodis
fuente
9

RESPUESTA: ¿Por qué (y cómo) funciona esta solución?


Si necesita recuperar este espacio / reubicar el uso en otro disco, tiene una gran opción

Puede reubicarse de forma segura en cualquier nueva ubicación de almacenamiento como ...

  • almacenamiento local / en vivo
  • almacenamiento en linea
  • almacenamiento cerca de la línea
  • almacenamiento fuera de línea

... siempre y cuando su ubicación ANTIGUA sea NTFS y la nueva ubicación:

  1. está basado en SMB
  2. se ajusta a Windows LANman: si usa enlaces simbólicos / desea reubicarse en un servidor / dispositivo de red (consulte a continuación ()
  3. se puede agregar / asignar al sistema de archivos existente " My Computer" utilizando una herramienta como:
    • el assigncomando de shell de DOS / Windows
    • Windows "Administración de computadoras" ( compmgmt.msc)
  4. se puede montar en una letra de unidad u otro punto / directorio de montaje

Entonces, esencialmente a partir de hoy (02/05/2014), estamos hablando de:

  • otra partición viva (montada)
  • un disco óptico (CD, DVD, etc.) con un sistema de archivos en vivo como FAT o NTFS
  • un disco duro externo
  • una unidad USB
  • una unidad de red

    NOTA:

    Si se le solicitan los medios o si recibe algún error sobre la falta de archivos / ubicación, simplemente asegúrese de volver a montar / reinsertar su unidad / medio si aún no es una partición activa.

.

9 de cada 10 veces, este será el caso:

Por lo tanto, encontrará que esto es muy sencillo, y tiene algunas excelentes opciones para elegir, que francamente, producen aproximadamente los mismos resultados:

  1. Cree una unión de directorio a la nueva ubicación:

    • Las uniones permiten que un directorio apunte a otro.
    • Las uniones solo se pueden usar en el almacenamiento local
    • Se reconocen a nivel del sistema de archivos como una entrada de alias en la Tabla del sistema de archivos (FSTAB).
      • Por lo tanto, es transparente para todos los programas, incluido el sistema operativo en sí.
      • En otras palabras, NO se ve como un archivo que simplemente apunta a otra ubicación (como un acceso directo) y, por lo tanto, siempre funciona sin incidentes.
    • Las uniones solo pueden tener referencias absolutas a archivos. Por lo tanto, incluso si mueve una estructura de directorio completa con una unión dentro de ella, con la estructura completamente intacta, tendrá que recrear su unión.
    • Las uniones pueden tener cualquier nombre, es decir, no tienen que reflejar el mismo nombre que la carpeta a la que apuntan.
  2. Cree un enlace simbólico a la nueva ubicación:

    • Los enlaces simbólicos son objetos del sistema de archivos que apuntan a otros objetos del sistema de archivos.
    • Son similares a los cruces, y son puntos de análisis.
    • Sin embargo, en algunas raras ocasiones, con algunos programas, he visto que NO se reconocen (este es a veces el caso con las Carpetas especiales de Windows .
    • Pero, son más flexibles en eso:
      • Los enlaces simbólicos se pueden crear como referencias absolutas o relativas.
      • se puede usar para apuntar a ubicaciones de red SMB / LANman (servidores Windows, dispositivos SMB, etc.)

PROCEDIMIENTOS


Entonces, mueva sus archivos y carpetas a la nueva ubicación y luego:

  1. OPCIÓN1 (de forma nativa): simplemente emita el comando incorporado de Windows Vista / 7/8 y el indicador de cmd:

    • Cree una unión ( enlace "duro" a un directorio):

      mklink /J <oldpath> <newpath>
      
    • Cree un enlace simbólico ( enlace "suave" a un directorio):

      mklink /D <oldpath> <newpath>
      
  2. Opción 2 (use una herramienta): una GRAN alternativa es una útil herramienta gratuita que he estado usando durante años llamada "Link Shell Extension" (LSE) (o Google it).

    Simplemente descargue, descomprima y ejecute (sin instalación)

    LSE le permite crear:

    • enlaces simbólicos
    • enlaces duros
    • cruces
    • copias inteligentes
    • smartclones
    • espejos inteligentes
    • movimientos inteligentes
    • empalmes
    • múltiples fuentes
    • y muchas otras cosas que nunca uso, francamente
      .

    Es un producto brillante y gratuito que crea un menú contextual del explorador de Windows que le permite hacer clic con el botón derecho en su carpeta LINK-TARGET y luego arrastrarlo a donde desea crear el enlace real.

    Por supuesto, puede cambiar el nombre del enlace a cualquier cosa que desee .

Flak DiNenno
fuente
8

Sorprendentemente, hay una herramienta para esto llamada steam mover, diseñada para resolver el mismo problema, que funciona en Windows 7. Realmente es una forma astutamente disfrazada de hacer enlaces simbólicos fácilmente. Básicamente, moverá los archivos automáticamente y hará un enlace simbólico para usted, por lo que todo parece estar donde Steam lo espera, en C: pero está realmente en otro lugar.

Notaría que esto solo funcionará en Windows 7 y Vista ya que MS agregó enlaces simbólicos con esas versiones de Windows

Journeyman Geek
fuente
1
Puede utilizar la utilidad del kit de recursos Win2K vinculada en esa plataforma, o la unión de herramientas Sysinternals en WinXP. Sin embargo, no es realmente relevante para la pregunta.
Patrick Seymour
1
@Patrick: pequeño tecnicismo. Linkd no crea enlaces simbólicos, pero crea uniones de directorio.
surfasb
2
Las uniones solo funcionan dentro del mismo disco, creo. Lo más parecido a los enlaces simbólicos para los sistemas más antiguos es el uso astuto de asignar una unidad como una carpeta creo
Journeyman Geek
1
@surfasb bien, ¿quién usa win2k de todos modos? :) (tristemente, lo hacemos)
Patrick Seymour
1
@JourneymanGeek: No, Junctions funciona en volúmenes locales . Más bien, los enlaces duros que no se extienden a través de los volúmenes.
Surfasb
0

Las uniones pueden apuntar a cualquier carpeta NTFS, sin importar en qué disco sea el origen frente al destino.

Dado que WinXP Junctions funciona con cualquier partición NTFS conectada directamente, sin importar si están en el mismo disco o en diferentes diks.

Por lo tanto, tener una unión es la mejor solución (lo simbólico puede causar algunos problemas).

Lo uso mucho para hacer esto:

  • Tenga algunas carpetas "virtuales" en la partición del sistema (normalmente es C :) que apunta a una carpeta en una partición en un disco USB (SSD, HDD, pendrive, tarjeta de memoria, etc.).

Por lo tanto, puedo tener algunos datos de aplicaciones en medios externos y tener solo una copia para más de una PC, por lo que no es necesario hacer una sincronización, etc. Por supuesto, solo una PC lo verá al mismo tiempo.

También las uniones pueden apuntar a una carpeta en una partición NTFS que está encriptada por veraCrypt, etc.

Las uniones solo necesitan tres cosas:

  • La partición de origen es un NTFS
  • La partición de destino sea un NTFS
  • Ambas particiones son locales (conectadas físicamente a la PC) ... esto no es siempre una necesidad, hay algunas herramientas que le permiten colocar un FTP como unidad local y ser visto como un NTFS, por lo que se pueden crear uniones para apuntar a ese

Lo que quiero decir es que la unión necesita ver el origen y el destino dentro de una partición NTFS.

  • Para XP, use la herramienta SysInternals llamada junction, enlace: Descarga de TechNet Junction .
  • Para 7 a 10 use la herramienta nativa mklinkcon /jparámetro.

Ambas son herramientas de línea de comandos y la mayoría de las veces requiere derechos de administrador.

Las uniones son la forma más fácil, pero no la única:

  • Puede usar una partición NTFS montada en una carpeta NTFS en diferentes discos
  • Puede crear un archivo VHD / VHDX (XP y Vista requiere una herramienta, 7 a 10 lo hacen de forma nativa en la administración del disco), crear una o más particiones dentro de él y montarlas en cualquier carpeta NTFS
  • etc.

El truco de VHD / VHDX también le permite usar almacenamiento dinámico, por lo que no necesita preocuparse por GiB de tamaño:

  1. Cree el VHD / VHDX en modo dinámico (no todo el tamaño asignado al disco virtual será el tamaño del archivo) y dele todo lo que desee (VHD está limitado a un poco menos de 2TiB, el límite de VHDX es 64TiB), pero créelo en un NTFS, ya que FAT32 limita el tamaño del archivo a menos de 4GiB.
  2. Inicialice el disco virtual como MBR o GPT (depende de lo que desee, MBR no admite más de 4 particiones primarias y está limitado a un poco menos de 2TiB, GPT está limitado a 8ZiB, pero Windows XP no puede ver unidades GPT), vea más información sobre esos límites en Wikipedia: en.wikipedia.org/wiki/GUID_Partition_Table
  3. Particione el disco virtual como desee
  4. Dé formato NTFS a la partición que desee
  5. Si necesita mover datos en una carpeta (la que desea estar en otro lugar) monte temporalmente esa nueva partición como cualquier letra, mueva los datos a ella y desmóntela ... pero no elimine la carpeta desde donde movió el contenido.
  6. Montar esa partición sobre esa carpeta

Y $ MFT tiene un truco para ser lo más pequeño posible (muy importante si crea particiones NFTS grandes, realmente grandes para contener ISO, etc ... menos de 1000 archivos de tamaño realmente grande cada uno):

  • Lo básico de esto es tener un tamaño inicial de $ MFT lo más pequeño posible
  • $ MFT crecerá si coloca más archivos y no tiene suficiente espacio, así que no tenga miedo de no poder agregar archivos
  • Es una forma nativa normal de crear la partición, sin ningún riesgo
  • No hay motivo (puedo ver) para no crear todas las particiones NFTS de esta manera

El procedimiento es bastante simple:

  1. Cree la partición con solo 8MiB (sí, megabytes, no giga, etc.), el menor tamaño para crear un NTFS normal ... NTFS puede ser de menor tamaño, pero hará cosas extrañas ya que no es un NFTS completo.
  2. Hazlo crecer al tamaño real que quieras

Estos pasos hacen una cosa:

  • Cuando se crea la partición, el $ MFT es realmente pequeño (ya que la partición solo tiene un tamaño de 8MiB)

Si crea la partición con el tamaño completo que desea, el $ MFT será (por defecto y lo más mínimo posible) del 12.5% ​​del tamaño de la partición; y no conozco ningún método para reducir ese porcentaje, ni para reducir el tamaño de $ MFT después de haber sido creado; ese porcentaje puede ser mayor al tocar la clave de registro NtfsMFTZoneReservation en algunas ventanas, pero nunca será menor ... así que al crear una partición de solo 8MiB, el tamaño inicial de $ MFT será muy pequeño. Puede comprobar cómo se reserva el espacio $ MFT en el sitio de Microsoft: cómo NTFS reserva espacio para su tabla de archivo maestro (MFT)

El crecimiento de un tamaño de partición NTFS no toca el tamaño de $ MFT ... así que para tener una gran partición NTFS con el menor tamaño de $ MFT posible, cree la partición como solo 8MiB y aumente al tamaño deseado después de la creación.

Eso es genial para tener un VHD / VHDX dinámico, porque no usará todo ese espacio de $ MFT para nada ... quiero decir:

  • Si crea un NTFS de 8MiB (no olvide hacerlo en modo de formato rápido) y crezca a 1.5TiB, el archivo VHD / VHDX que lo contenga será más pequeño, mucho más pequeño
  • Si crea directamente una partición de 1.5TiB dentro del VHD / VHDX, el archivo VHD / VHDX que lo contenga será más grande, mucho más grande

Prueba realizada en Windows 10 Home 64Bits:

  • VHD dinámico de 1.8TiB con una partición NTFS creada (con formato rápido) de 8MiG y crecida a 1.5GiB ... El tamaño de VHD es: 15.6MiB
  • VHD dinámico de 1.8TiB con una partición NTFS creada (con formato rápido) de 1.5GiB ... El tamaño de VHD es: 107MiB

Mira, es diez veces mayor. Sé que no se habla mucho de cientos de megabytes ... pero si usas muchos (algunos miles de ellos) de archivos VHD / VHDX, ese tamaño puede importar mucho, si mil de esos archivos, sería cerca de 100GiB. También con VHDX y tamaños de ZetaBytes es realmente una gran diferencia.

Nota: Hablo sobre el tamaño del disco de 1.8TiB solo para asegurarme de que puedo crear una partición idéntica del tamaño exacto de 1.5TiB (1572864 MiB) ... si coloca un tamaño de disco de X, la partición será menor que X.

Claudio
fuente