Macターゲットディスクモードと同等の最も近いPC?[閉まっている]


8

Macファームウェアには特別なブートモードがあり、その内部HDDを外部ディスクとして別のコンピューターに提供できます(IEEE 1394ケーブルで2台のマシンを接続するだけです)。機能しているOSをインストールする必要があるのは、2台目のマシンだけです。

PC側で似たようなことについて何か良い提案はありますか?ブロックレベルのアクセスは私にとって重要ではありません。ファイルをコピーできるようにしたいだけです。イーサネット、IEEE 1394、またはwifiを使用しているかどうかは関係ありません。クライアントPC上のファイルにすばやくアクセスする方法が好きです。

これを行うために特別に設計された単一目的のLinuxディストリビューションはありますか?USBドライブにインストールできる、非常にシンプルでクイックブート可能な、小さいものを用意しておくとよいでしょう。以前はKnoppixを使用していましたが、ターゲットモードの置き換えとしてはやりすぎです。

回答:


5

残念ながら、違います。USB OTGとEFIファームウェアが利用可能であることを考えると、欠如の言い訳はもはやありませんが、誰もそれを実装していません。

最善の策は、完全にRAMにロードし、ストレージデバイスを列挙し、iSCSIまたはNBDを介してイーサネット上で公開する、またはFireWireポートがある場合はFireWire SDB2ホストモードを介して公開する、ミニLinuxディストリビューションをCDまたはUSBキーから起動することです。これを行うために用意されたディストリビューションについては知りませんが、カスタムのinitスクリプトを使用してSysRescCDの上にリギングするのは非常に簡単です。

私はこのトピックについて大げさなことを書いただけで、「FFS、EFIファームウェアとUSB OTGを使用すれば、ターゲットディスクを提供しない言い訳はもうありません。iSCSIまたはATAoEを使用したターゲットディスクオーバーイーサネットを提供するOTG Micro-ABポートがなくても、無理をしないでください。」

真剣に、Intel AMT(vPro)ができることを見てください。そのレベルのファームウェア機能(ちなみにEFIによって可能になりました)と比較すると、ターゲットディスクモードは何もありません。


なぜPXEブートへの愛情がないのですか?
jscott

@jscott PXEブートは、ネットワーク上に便利で簡単に使えるDHCPサーバーとTFTPサーバーがある場合に最適です。私は自分で頻繁に使用しています。実際、貧乏人の「ターゲットディスクモード」ソリューションは、作業LAN上のシンクライアントに使用するLinuxターミナルサーバープロジェクト(LTSP)システムをPXEブートし、ローカルシェルに切り替え、 nbd-serverを起動します。ただし、PXEブートは、Belkinの死んだ生ゴミがDHCPを実行している一般的なホームネットワークでは困難または不可能です。いずれにせよ、OSをどのように起動するかは関係ありません。同じものが必要です。
クレイグリンガー

@jscottところで、現在、ターゲットディスクモードのようなものを提供するために、UEFI EBC(EFI Byte Code)またはネイティブコンパイルEFIドライバーを書くのがどれほど難しいかを調査しています。EFI Shellをサポートしているマシンでは実用的だと思われますが、IntelはデスクトップボードにEFI Shellを含めず、サーバーボードのみを含めています。EFIシェルがないと、本当にディスクレスで実行できるかどうかわかりません。ターゲットディスクのEFIドライバー用のUSBキーが必要になる可能性があります。
クレイグリンガー

@クレイグ、素敵なブログ投稿。私は主にAppleのギアを使用してきたので、USB OTGについて聞いたことがありません。面白い。
ユーザー名

@usernameもともとbtwと書かれていたように、私は私の投稿に誤りがありました。OTGは標準のUSB Aタイプコネクタをサポートできると思いましたが、サポートできません。USBMicro-ABコネクタが必要です。それでも、少なくともスペースが限られているウルトラポータブルラップトップのようなものにそれを含めないことの言い訳はありません。USB3仕様ではAタイプのUSBプラグと互換性のあるフルサイズのUSB OTGソケットが提供されていないため、USB3のUSBポートを変更することはできませんでした。
Craig Ringer

6

ターゲットディスクモードはMacファームウェアの機能です。これがPCメーカーのBIOSに実装されているとは聞いたことがありません。


いい答えです。Nitpickyの説明:現在のMacは(ソフトウェアのタイプではなくソフトウェアの名前として)「BIOS」を使用していません。PPC MacはOpen Firmwareを使用していましたが、Intel MacはEFIを使用していますが、どちらも技術的にはBIOSの一種です。
Chealion 2009年

真、同等のものはありません。起動可能なサムドライブを差し込んでもかまいません。実際に考えてみると、インスタントオンのOS(ネットブックと一緒に出荷される)の一部はその要件を満たすでしょう。hmm
ユーザー名

@Chealionのグッドキャッチ、私は私の答えを更新しました
Dave Cheney

2

昔は、特別なパラレルケーブルまたはヌルモデムケーブルを使用して2台のコンピューターを接続できました。おそらく転送する必要があるデータの速度と量を考えると、それはまったく価値がありません。

専用のUSBケーブルを使用してコンピューターに接続できます。複数のベンダーが、USB経由で2台のコンピューターを接続できるケーブルを販売しています。

両方のコンピュータにイーサネットが搭載されている場合は、もちろん、2台の間にネットワークを設定できます。クロスケーブルが必要な場合があります。私は頭の中で何も知りませんが、単にブートし、すべての可能なデバイスをマウントし、smb、nfs、sshを介してすべてを共有するライブcd / usbを構築するのは本当に簡単なようです。 dhcpサーバーを起動します。


2

それをするために市場に何かがあるとは思いません。

あなたが本当にそれを実現することに専念していて、時間とプログラミングのスキルを持っている場合、おそらくFirewire DMAエクスプロイトの1つを見て、それらがどのように機能するかを理解することができます。昨年Pythonで書かれたコードがあり、そのコードは非常に読みやすかったです。

Firewireは直接メモリアクセスを提供するので、ミニマリストのカーネルをブートストラップし、接続を介して好きなことを行うことができます。フルディスク暗号化が心配な場合は、誰かがFirewireデバイスをスリープ状態(休止状態または電源オフの状態)のラップトップに接続し、暗号化キーを危険にさらす可能性があるため、考慮する必要のある大きなリスクです。


Firewireは本質的に安全ではありません。それは、ほとんどのファームウェアとドライブがコントローラーを適切に構成していない(4年以内に多くの変更があったのではないでしょうか)だけです。FirewireはDMAを必要としますが、適切に構成されたコントローラーは、その使用のために割り当てられたDMAバッファーへのIOMMUまたはコントローラーのオンボード機能によって制限された小さめのDMAウィンドウを持ちます。このように設定すると、すべてのメモリにアクセスできなくなります。Firewireは本質的にすべてのRAMへのアクセスを必要とせず、このセキュリティホールを作成するのは遅延実装だけです。
クレイグリンガー

2

これは、SBP_TARGETを有効にしたLinuxカーネルバージョン3.5以降のsbp-targetモジュールで処理されます


ええ、それは素晴らしい発展です。ただし、最初にLinuxカーネルをブートする必要があるという警告があります。カスタムフラッシュファームウェアでコアブートを使用している場合を除き、これはUSBキー(多くのファームウェアでは信頼できない)またはCD(ドライブがある場合)から起動することを意味します。それはまだ便利ですが、結局、以前はいつでも同じことをネットワークブロックデバイス(nbd)またはiSCSIで行うことができました。
クレイグリンガー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.