Hur undviker man Enhetsbokstavs-kollisioner i Windows?

Trädvy Permalänk
Medlem
Plats
Norrköping
Registrerad
Jan 2006

Hur undviker man Enhetsbokstavs-kollisioner i Windows?

Hej.

Jo om man jonglerar med 4 hårddiskar som kopplas in och ur i datorn. Och sedan kanske 5 USB minnen används ibland omvartannat. Möjligen 3 nätverksplatser också.
Sedan har man konfigurerat massa -backup-program efter enhetsbokstav för att synkronisera t ex USB minnen till backuplatser. T ex mot nätverksservrar och hårddiskar. När man väljer platserna man vill synka till så väljer man ju enhetsboksaven inklusive en lång sökväg.
Det dumma här är att rätt som det är så får windows för sig att tilldela en annan enhet den bokstav som tänkte användas för t ex backupen!
Sen, när man då kopplar in hårddisken som skulle ha denna bokstav så blir det helt fel. Tänk er att man har kanske 10 skript och 20 program där man valt enhetsbokstaven i.

Då måste man ändra överallt i alla program och skript.

1. Vad är det för standardlösnigar på detta problem? Finns nog mer än mig som har externa hårddiskar och lite nätverksplatser.

2. Vad gör windows när bokstäverna i alfabetet tar slut? T ex efter Z: . Blir det AA: ?

3. Hur gör Windows för att koppla en viss hårddisk till en viss bokstav? För om man inte jonglerar med hårddiskar så mycket, så håller Windows sig till bokstäverna rätt så skapligt, ett tag

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Trädvy Permalänk
Medlem
Registrerad
Maj 2012

Windows tilldelar alltid varje "ny" enhet som ansluts, den första lediga enhetsbokstaven om du inte har tilldelat specifik enhetsbokstav manuellt.
Om vi utgår ifrån att C och D är upptagna av fasta enheter, så tilldelas alltså nästa enhet som ansluts, bokstaven E, nästa F o.s.v. Tar du då bort E och ansluter ännu en ny enhet, får även den bokstaven E.

För att dina enheter skall behålla samma bokstav över tid, måste du alltså manuellt tilldela dom en unik enhetsbokstav som inte riskerar att bli upptagen av andra, tillfälligt anslutna enheter.
Du kan t.ex. utgå ifrån dina fasta enheter (C och D för att fortsätta på ovanstående exempel) och hoppa över kanske 2 bokstäver i turordningen, så att du börjar den manuella tilldelningen på bokstaven G... du låter alltså E och F vara fria för "okända" tillfälliga enheter. Du kan också börja från andra hållet och tilldela de enheter du vill ha "fast" enhetsbokstav på, från Z och neråt i alfabetet. På så vis riskerar du inte att Windows lägger beslag på "dina" enhetsbokstäver.
Tilldelar enhetsbokstäver manuellt gör du i Diskhanteringen (diskmgmt.msc).

Citat:

Vad gör windows när bokstäverna i alfabetet tar slut? T ex efter Z?

Tja... har man så många diskar, gör man nog bäst i att sätta upp någon form av serverlösning.

Citat:

Hur gör Windows för att koppla en viss hårddisk till en viss bokstav? För om man inte jonglerar med hårddiskar så mycket, så håller Windows sig till bokstäverna rätt så skapligt, ett tag

Som sagt... Windows tilldelar alltid första lediga bokstaven i alfabetet, som standard.

Trädvy Permalänk
Medlem
Registrerad
Jul 2003

Tilläggas skall att Microsoft skapade dessa enhetsbokstäver vid en tidpunkt då man absolut inte kunde räkna med att även stora företag skulle ha 25st lagringsenheter med runt 3 partitioner på varje hårddisk i en ordinär PC.

Jag gjorde en upptäckt en gång under PATA-eran (pre-SATA) då man hade Primary Master, Primare Slave, Secondary Master samt Secondary Slave. Microsoft kände för att tilldela PM enhetsbokstav C:, PS fick D:, SM fick E: och SS fick F:

Ännu mer komplicerat blev det ifall Man hade flera partitioner på varje hårddisk då de logiska partitionerna samt utökade logiska partitioner oxo hade prioritering vad gällde tilldelning av enhetsbokstäver.

Jag kommer ju från Amiga-världen så jag är ju van vid hur Amigans Kickstart hanterar hårddiskar och det är MYCKET enklare. Där har man HD0:, HD1: osv samt även möjligheten att anropa en specifik hårddisk genom att helt enkelt ange namnet man gav respektive partition. Nog för att Windows har möjlighet att tilldela partitioner olika namn för att det ska vara enklare att veta vilken partition man är och pillar på men det går inte att använda detta namn till något annat förutom identifiering av partitionen.

Ni kan säkert gissa hur många gånger jag har uttalat totalt verkningslösa förbannelser över Microsofts system med enhetsbokstväer...

Trädvy Permalänk
Medlem
Plats
Norrköping
Registrerad
Jan 2006

Är det så kanske att varje hårddisk har ett unikt nummer? Kanske ett UUID?
Använder Windows UUID för att koppla en hårddisk till en viss bokstav? Någon som vet?

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Trädvy Permalänk
Medlem
Plats
Varberg
Registrerad
Aug 2009

Du har ju möjligheten att montera i en mapp istället för mot en enhets-bokstav?
Gör t.ex. en mounts-mapp i c:\ och skapa en mapp för varje enhet, datorn kommer ihåg och kopplar enheten till rätt mapp när du väl gjort första mappningen. Notera dock att det är ju partitioner som mappas och inte hårddisken i sig.

ASUS P9X79 | RX 580 | Corsair DDR3 XMS3 8x8Gb | Intel I7 3820 | 2x Samsung 840 Pro 256Gb + 1 Intel 520 256 + 1 Crucial M500 256Gb
DELL XPS 15 | I7 | 512GB | 16GB ram | 4K EYEFINITY

Trädvy Permalänk
Medlem
Plats
Norrköping
Registrerad
Jan 2006

Jaha Hmm.
Man kan väl aldrig mappa en hårddisk va? Omöjligt?

Om man då kör lite unix-stil att mappa en hårddisk till en mapp, då hoppar man ju över hela enhetsgrejjen och de känns ju rätt bra. . Innan jag använda linux så tyckte jag det sättet var lite lustigt ^^.

Men är det fortfarande UUIDn som windows använder sig av tro?

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Trädvy Permalänk
Medlem
Plats
Sthlm
Registrerad
Apr 2004

Ett annat alternativ är ju att du byter ut enhetsbokstäverna mot variablar i ditt backup script.
Sen får du köra batch scriptet i en CMD ruta med sökvägarna som parametrar.
tex:
C:\ > backup.bat F G

och backup.bat innehåller något i denna stil, där %%1 borde översättas till F, och %%2 = G

xcopy %%1:\viktigafilen.doc %%2:\Worddokument\

http://www.robvanderwoude.com/parameters.php

Jag är ingen batch guru så kodbiten jag skrev fungerar antagligen inte
Men med lite trixande borde det gå att få till.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2001

Det verkar inte gå att montera ett flyttbart lagringsmedia till en NTFS-mapp. Det du kan göra är att byta drivrutin för ditt USB-minne så att det är installerat som en hårddisk istället. Då kan du välja att montera det i valfri NTFS-mapp.

Du kan följa denna guiden: http://www.ehow.com/how_5941768_make-flash-drive-local-disk.h...
Men, använd denna drivrutinen om du kör ett 64-bitars OS: http://forum.xda-developers.com/attachment.php?attachmentid=9...

[Rigg] | i5 7600K | Asus Z270G Gaming | 16 GB RAM | GTX 1070 | 1 TB SSD | Fractal Design Node 804 | AX-850 | [HTPC] | i3 2100T | MSI H61MU-E35 | 8 GB RAM | GT430 | 80 GB SSD | Streacom FC5OD Fanless | DiNovo Mini | PicoPSU 90 W |
[NAS] | Pentium G2030 | Asrock B75 PRO3 | 8 GB RAM | 29 TB | 60 GB SSD | Define R4 |