Obter a referência de todos os discos do sistema do usuário

Em minha aplicação eu preciso analisar certas características de todos os HD´s do usuário…Vamos supor que o usuário tenha 2 HD´s ou um HD com duas partições…Unidades C e D…Existe uma forma geral para obter a referência de todos os HD´s da máquina do usuário?

Abraço…

[code]public static void imprimirInfoDiscos() {

	StringBuffer sb = new StringBuffer();
	File[] roots = File.listRoots();

	for (int i = 0; i < roots.length; i++) {
		sb.append("\nUnidade= " + roots[i]);
		sb.append("\nEspaço livre= " + roots[i].getFreeSpace());
		sb.append("\nEspaço usado= " + roots[i].getUsableSpace());
		sb.append("\nEspaço total= " + roots[i].getTotalSpace());
	}
	System.out.println("=>sb.toString());
}[/code]

Boa Tarde eclipso
ja tentou algo do tipo

    public void capturarHardware() {
        //String hw = System.getProperty("").toLowerCase();
       // jlHard.setText(hw);
    }

ou

    public String CalculaEspacoHD(String unidade) {
        File c = new File(unidade);
        long espacolivre = c.getFreeSpace();
        espacolivre = (int) (espacolivre / (1024 * 1024));
        DecimalFormat aproximador = new DecimalFormat("0.00");
        return aproximador.format(espacolivre);

    }

Espero q ajude T+