PC più vicino equivalente alla modalità disco di destinazione Mac? [chiuso]


8

Il firmware Mac ha una modalità di avvio speciale che ti consente di offrire il suo hdd interno a un altro computer come disco esterno (basta collegare le due macchine tramite un cavo IEEE 1394). Solo la seconda macchina necessita di un SO funzionante installato.

Qualche suggerimento per qualcosa di simile sul lato PC delle cose? L'accesso a livello di blocco non è importante per me, vorrei solo essere in grado di copiare i file da esso. Non importa se utilizza Ethernet, IEEE 1394 o Wi-Fi - mi piace solo avere un modo rapido per accedere ai file su un PC client.

Esiste una distro Linux monouso appositamente progettata per fare questo? Sarebbe bello avere qualcosa di super semplice, avvio rapido e piccolo che potrei installare su un'unità USB. Usavo Knoppix, ma è eccessivo come sostituto della modalità Target.

Risposte:


5

Purtroppo no. Non ci sono più scuse per la mancanza, data la disponibilità di firmware USB OTG ed EFI, ma nessuno lo sta implementando.

La soluzione migliore è l'avvio di una mini distro Linux da CD o chiave USB che si carica completamente nella RAM, enumera i dispositivi di archiviazione e li espone su iSCSI o NBD su Ethernet e / o tramite la modalità host FireWire SDB2 se si dispone di una porta FireWire. Non sono a conoscenza di alcuna distribuzione in scatola per farlo, ma dovrebbe essere abbastanza facile sistemarsi su SysRescCD con uno script di init personalizzato.

Ho appena scritto un grande rant su questo argomento, che si riduce a "FFS, con i firmware EFI e USB OTG non ci sono scuse per non offrire più il disco di destinazione; anche senza le porte OTG Micro-AB che offrono Target Disk su Ethernet con iSCSI o ATAoE essere irragionevoli ".

Seriamente, guarda cosa può fare Intel AMT (vPro). In confronto a quel livello di capacità del firmware (che è reso possibile da EFI, a proposito) la modalità disco target non è nulla.


Perché nessun amore per l'avvio PXE?
jscott,

L'avvio di @jscott PXE è ottimo se si dispone di un comodo server DHCP non Braindead e di un server TFTP sulla rete. Lo uso pesantemente da solo - in effetti, la soluzione "target disk mode" del mio povero è di avviare PXE il sistema Linux Terminal Server Project (LTSP) che utilizziamo per thin client sulla LAN di lavoro, passare a una shell locale e accendere nbd-server. Tuttavia, l'avvio di PXE è difficile o impossibile su una tipica rete domestica con un po 'di immondizia Belkin che fa il cervello e fa DHCP. In ogni caso, non importa come si avvia il sistema operativo, è comunque necessaria la stessa cosa.
Craig Ringer,

@jscott BTW, sto attualmente studiando quanto sia difficile scrivere un UEFI EBC (EFI Byte Code) o un driver EFI compilato in modo nativo per fornire qualcosa come la modalità disco di destinazione. Sembra che sarebbe pratico su macchine con supporto EFI Shell, ma Intel non include EFI Shell sulle loro schede desktop, ma solo sulle schede server. Senza la shell EFI non sono sicuro che possa essere fatto davvero senza disco, probabilmente avrà bisogno di una chiave USB per il driver EFI del disco di destinazione.
Craig Ringer,

@Craig, bel post sul blog. Uso principalmente dispositivi Apple da così tanto tempo che non avevo mai sentito parlare di USB OTG. Interessante.
nome utente

@nomeutente Non ero corretto nel mio post come scritto originariamente a proposito; Ho pensato che OTG potesse supportare il connettore USB standard di tipo A, ma non può, ha bisogno di un connettore Micro-AB USB. Ancora nessuna scusa per non includerlo almeno su cose come laptop ultraportatili dove lo spazio è un premio. Per qualche ragione follemente assurda, le specifiche USB3 non prevedono una presa USB OTG di dimensioni standard compatibile con le spine USB di tipo A, quindi abbiamo perso una vera possibilità con la modifica della porta USB per USB3.
Craig Ringer,

6

La modalità disco di destinazione è una funzionalità del firmware Mac. Non ho mai sentito parlare di questo implementato nel BIOS di un produttore di PC.


Buona risposta. Chiarimento nitido: gli attuali Mac non usano "BIOS" (come il nome del software piuttosto che il tipo di software). I Mac PPC utilizzavano Open Firmware, mentre i Mac Intel usano EFI ma entrambi sono tecnicamente tipi di BIOS.
Chealion,

vero, non esiste un equivalente esatto. non mi dispiace collegare un thumbdrive avviabile però. a pensarci bene, alcuni dei sistemi operativi istantanei (spedizione con netbook) si adatteranno al conto. hmm
nome utente

Buona cattura @Chealion, ho aggiornato la mia risposta
Dave Cheney,

2

Molto tempo fa è stato possibile utilizzare uno speciale cavo parallelo o un cavo null modem per collegare due computer. Ciò è del tutto inutile, sebbene data la velocità e la quantità di dati che probabilmente è necessario trasferire.

È possibile utilizzare un cavo USB speciale per connettersi ai computer. Diversi fornitori vendono un cavo che consente di collegare due computer tramite USB.

Se entrambi i computer dispongono di Ethernet, ovviamente puoi configurare una rete tra i due. Potrebbe essere necessario un cavo incrociato. Non ne conosco nessun altro, ma sembra che sarebbe davvero facile costruire un cd / usb live che si avvii semplicemente, monti tutti i dispositivi possibili e lo condivida via smb, nfs, ssh e avvia un server DHCP.


2

Non credo che ci sia qualcosa sul mercato per farlo.

Se sei davvero impegnato a realizzarlo e hai tempo e abilità di programmazione, probabilmente potresti dare un'occhiata a uno degli exploit DMA di Firewire e capire come funzionano. Ce n'era uno scritto in Python l'anno scorso il cui codice era molto leggibile.

Firewire ti dà accesso diretto alla memoria, così puoi avviare un kernel minimalista e fare quello che vuoi tramite la connessione. Se sei preoccupato per la crittografia dell'intero disco, è un grave rischio di cui devi tener conto, poiché qualcuno potrebbe collegare un dispositivo Firewire a un laptop che è addormentato (anziché in letargo o spento) e compromettere la chiave di crittografia.


Firewire non è intrinsecamente insicuro, è solo che la maggior parte dei firmware e delle unità non (non sono cambiate molte cose in 4 anni) configurano correttamente il controller. Firewire richiede DMA ma un controller correttamente configurato avrà una finestra DMA di dimensioni ridotte limitata da un IOMMU o dalle funzioni di bordo del controller a un buffer DMA allocato per il suo utilizzo. Non avrà accesso a tutta la memoria quando impostato in questo modo. Firewire non richiede intrinsecamente l'accesso a tutta la RAM, è solo un'implementazione pigra che crea questo buco nella sicurezza.
Craig Ringer,

2

Questo è gestito dal modulo sbp-target delle versioni 3.5 e successive del kernel linux , abilitato con SBP_TARGET.


Sì, è uno sviluppo piacevole. Tuttavia, c'è un avvertimento che devi prima avviare un kernel Linux da qualcosa. A meno che non si utilizzi coreboot con un firmware flash personalizzato, ciò significa l'avvio da una chiave USB (che non è affidabile su molti firmware) o da un CD (se presente un'unità). È ancora utile, ma alla fine ho sempre potuto fare la stessa cosa con il dispositivo di blocco di rete (nbd) o iSCSI prima.
Craig Ringer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.